1.计算某一月份的最大天数
Calendartime=Calendar.getInstance();
time.clear();
time.set(Calendar.YEAR,year);
time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0
intday=time.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天数
注:在使用set方法之前,必须先clear一下,否则很多信息会继承自
系统当前时间
2.Calendar和Date的转化
(1)Calendar转化为Date
Calendarcal=Calendar.getInstance();
Datedate=cal.getTime();
(2)Date转化为Calendar
Datedate=newDate();
Calendarcal=Calendar.getInstance();
cal.setTime(date);
3.格式化输出日期时间
Datedate=newDate();
SimpleDateFormatdf=newSimpleDateFormat("yyyy-MM-ddhh:mm:ss");
System.out.println(df.format(date));
4.计算一年中的第几星期
(1)计算某一天是一年中的第几星期
Calendarcal=Calendar.getInstance();
cal.set(Calendar.YEAR,2006);
cal.set(Calendar.MONTH,8);
cal.set(Calendar.DAY_OF_MONTH,3);
intweekno=cal.get(Calendar.WEEK_OF_YEAR);
(2)计算一年中的第几星期是几号
SimpleDateFormatdf=newSimpleDateFormat("yyyy-MM-dd");
Calendarcal=Calendar.getInstance();
cal.set(Calendar.YEAR,2006);
cal.set(Calendar.WEEK_OF_YEAR,1);
cal.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
System.out.println(df.format(cal.getTime()));
输出:
2006-01-02
5.add()和roll()的用法
(1)add()方法
SimpleDateFormatdf=newSimpleDateFormat("yyyy-MM-dd");
Calendarcal=Calendar.getInstance();
cal.set(Calendar.YEAR,2006);
cal.set(Calendar.MONTH,8);
cal.set(Calendar.DAY_OF_MONTH,3);
cal.add(Calendar.DATE,-4);
Datedate=cal.getTime();
System.out.println(df.format(date));
cal.add(Calendar.DATE,4);
date=cal.getTime();
System.out.println(df.format(date));
输出:
2006-08-30
2006-09-03