java日期获取周
A. java 获取当前日期是多少周
使用Calendar类
/**Calendar类中的.get(Calendar.DAY_OF_WEEK)可以获取当前日期是星期几
* 获取当前日期是星期几<br>
*
* @param dt
* @return 当前日期是星期几
*/
public static String getWeekOfDate(Date dt) {
String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
Calendar cal = Calendar.getInstance();
cal.setTime(dt);
int w = cal.get(Calendar.DAY_OF_WEEK) - 1;
if (w < 0)
w = 0;
return weekDays[w];
}
B. java 怎么根据第几年的第几周获取那周周一的时期
1、使用Calendar类。
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, 2016); // 2016年
cal.set(Calendar.WEEK_OF_YEAR, 10); // 设置为2016年的第10周
cal.set(Calendar.DAY_OF_WEEK, 2); // 1表示周日,2表示周一,7表示周六
Date date = cal.getTime();
以上就能得到2016年第10周的周一的Date时间。
注:上面代码是手工敲的,没有放到eclipse中运行,有写错的地方请谅解
C. Java中获取本周内所有日期
importjava.text.SimpleDateFormat;
importjava.util.Calendar;
publicclassDataTest{
publicstaticvoidmain(String[]args){
printWeekdays();
}
privatestaticfinalintFIRST_DAY=Calendar.MONDAY;
(){
Calendarcalendar=Calendar.getInstance();
setToFirstDay(calendar);
for(inti=0;i<7;i++){
printDay(calendar);
calendar.add(Calendar.DATE,1);
}
}
(Calendarcalendar){
while(calendar.get(Calendar.DAY_OF_WEEK)!=FIRST_DAY){
calendar.add(Calendar.DATE,-1);
}
}
privatestaticvoidprintDay(Calendarcalendar){
SimpleDateFormatdateFormat=newSimpleDateFormat("yyyyMMddEE");
System.out.println(dateFormat.format(calendar.getTime()));
}
}
D. java如何得到上周一和上周日的日期
/**
* 获取上周五时间
*/
public Date lastFirday() {
//作用防止周日得到本周日期
Calendar calendar = Calendar.getInstance();
while (calendar.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY) {
calendar.add(Calendar.DAY_OF_WEEK, -1);
}
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1;
int offset = 7 - dayOfWeek;
calendar.add(Calendar.DATE, offset - 9);
return DateTimeUtil.getFirstDayOfWeek(calendar.getTime(), 6);//这是从上周日开始数的到本周五为6
}
/**
* 获取上周一时间
*/
public Date lastMonday() {
Calendar calendar = Calendar.getInstance();
while (calendar.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY) {
calendar.add(Calendar.DAY_OF_WEEK, -1);
}
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1;
int offset = 1 - dayOfWeek;
calendar.add(Calendar.DATE, offset - 7);
return DateTimeUtil.getFirstDayOfWeek(calendar.getTime(), 2);
}
E. java怎样通过日期获取星期几
1、使用Calendar类x0dx0a/**x0dx0a* 获取当前日期是星期几
x0dx0a*x0dx0a* @param dtx0dx0a* @return 当前日期是星期几x0dx0a*/x0dx0apublic static String getWeekOfDate(Date dt) {x0dx0aString[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};x0dx0aCalendar cal = Calendar.getInstance();x0dx0acal.setTime(dt);x0dx0aint w = cal.get(Calendar.DAY_OF_WEEK) - 1;x0dx0aif (w < 0)x0dx0aw = 0;x0dx0areturn weekDays[w];x0dx0a}x0dx0a2、使用SimpleDateFormat格式化日期x0dx0ax0dx0aDate date=new Date();x0dx0aSimpleDateFormat dateFm = new SimpleDateFormat("EEEE");x0dx0adateFm.format(date);x0dx0a注:格式化字符串存在区分大小写x0dx0a对于创建SimpleDateFormat传入的参数:EEEE代表星期,如“星期四”;MMMM代表中文月份,如“十一月”;MM代表月份,如“11”;x0dx0ayyyy代表年份,如“2010”;dd代表天,如“25”
F. java中如何得到本周时间
import java.util.*;
public class DateTest {
public DateTest(){
Calendar c = Calendar.getInstance();
int weekday = c.get(7)-1;
c.add(5,-weekday);
System.out.println("本周开始时间:"+c.getTime());
c.add(5,6);
System.out.println("本周开始结束:"+c.getTime());
}
public static void main(String[] args) {
new DateTest();
}
}
G. Java根据日期得到当月第几周
Calendar c_begin = Calendar.getInstance();
Calendar c_end = Calendar.getInstance();
c_begin.set(2010, 3, 1); //Calendar的月从0-11,所以4月是3.
c_end.set(2010, 4, 20); //Calendar的月从0-11,所以5月是4.
int count = 0;
while(c_begin.before(c_end)){
//System.out.println(new java.sql.Date(c_begin.getTime().getTime()));
if(c_begin.get(Calendar.DAY_OF_WEEK)==Calendar.MONDAY){
count++;
}
if(count == 2){
System.out.println(c_begin.get(Calendar.YEAR)+"年"+(c_begin.get(Calendar.MONTH)+1)+"月"+c_begin.get(Calendar.DATE)+"日");
break;
}
c_begin.add(Calendar.DAY_OF_YEAR, 1);
}
可以这样试试,应该能理解吧。如有不懂再问我
H. java如何得到指定日期月的第几周按每年的1号为第一周开始算。
你第一问需要思考一下,你第二问日历类直接get即可!
第一问:
年末与年初进行周与周重叠的时候,获取的是第二年的第一周数字,这个时候其实很简单,因为月份是绝对不相同的对不?
直接判断月份即可,头年月份肯定不会第二年月份想等,在同时判断一下,周是否为1,条件同时达到,就叠加52即可!
截个图,你参照日历看一下,分毫不差:
I. java 怎么根据一天的时间得到一周的时间
楼主我这方法都拆开了,应该还算比较好理解。。。也有注释
======================================================================
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class WeekToDay {
public static void main(String[] args) {
String date = "2012-12-01";
String[] a;
try {
a = getStringDate(date);
for(String k : a){
System.out.println(k);
}
} catch (ParseException e) {
e.printStackTrace();
}
}
public static String[] getStringDate(String date) throws ParseException{
String[] weeks = new String[7];//返回的这周的日期
String[] a = date.split("-");
int week = getDayOfWeek(a[0], a[1], a[2]);//获取周几
int minWeek = 0;
int maxWeek = 7;
String format = "yyyy-MM-dd";
if(week == 1){//如果是周日(老外是从周日开始算一周,所以有点恶心)
weeks[6] = date;
for(int i = 5; i >= 0; i--){
weeks[i] = getFormatDateAdd(getStrToDate(date, format), -1, format);
date = weeks[i];
}
}else{
int temp = week - 2;
weeks[temp] = date;
for(int i = temp - 1; i >= minWeek; i--){
weeks[i] = getFormatDateAdd(getStrToDate(date, format), -1, format);
date = weeks[i];
}
date = weeks[temp];
for(int i = temp + 1; i < maxWeek; i++){
weeks[i] = getFormatDateAdd(getStrToDate(date, format), 1, format);
date = weeks[i];
}
}
return weeks;
}
/**
* 根据指定的年、月、日返回当前是星期几。1表示星期天、2表示星期一、7表示星期六。
*
* @param year
* @param month
* month是从1开始的12结束
* @param day
* @return 返回一个代表当期日期是星期几的数字。1表示星期天、2表示星期一、7表示星期六。
*/
public static int getDayOfWeek(String year, String month, String day) {
Calendar cal = new GregorianCalendar(new Integer(year).intValue(),
new Integer(month).intValue() - 1, new Integer(day).intValue());
return cal.get(Calendar.DAY_OF_WEEK);
}
/**
* 取得给定日期加上一定天数后的日期对象.
*
* @param date
* 给定的日期对象
* @param amount
* 需要添加的天数,如果是向前的天数,使用负数就可以.
* @param format
* 输出格式.
* @return Date 加上一定天数以后的Date对象.
*/
public static String getFormatDateAdd(Date date, int amount, String format) {
Calendar cal = new GregorianCalendar();
cal.setTime(date);
cal.add(GregorianCalendar.DATE, amount);
return getFormatDateTime(cal.getTime(), format);
}
/**
* 根据给定的格式与时间(Date类型的),返回时间字符串。最为通用。<br>
*
* @param date
* 指定的日期
* @param format
* 日期格式字符串
* @return String 指定格式的日期字符串.
*/
public static String getFormatDateTime(Date date, String format) {
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.format(date);
}
/**
* 返回制定日期字符串的date格式
*
* @param date
* @param format
* @return
* @throws ParseException
*/
public static Date getStrToDate(String date, String format) throws ParseException{
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.parse(date);
}
}
J. java中如何获取日期时间中的星期几
这个只能自己编写代码,显示样式可以根据自己的喜好设定。
实现此功能有很多方法,下面仅给一个例子,希望对你有帮助。
/** * 获取指定日期是星期几
* 参数为null时表示获取当前日期是星期几
* @param date
* @return
*/
public static String getWeekOfDate(Date date) {
String[] weekOfDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
Calendar calendar = Calendar.getInstance();
if(date != null){
calendar.setTime(date);
}
int w = calendar.get(Calendar.DAY_OF_WEEK) - 1;
if (w < 0){
w = 0;
}
return weekOfDays[w];
}
调用方法如下,看你怎么用了
public static void main(String[] args){
//今天是2015-10-19 星期一
String weekOfDate = null; //参数为null时表示获取当前日期是星期几
weekOfDate = getWeekOfDate(null);
System.out.println(weekOfDate);
//输出 星期一
Date date = new Date();
date.setDate(18); //指定日期也可以
weekOfDate = getWeekOfDate(date);
System.out.println(weekOfDate);
//输出 星期日
}