Calendar类是一个抽象类,它提供了如何将特定时刻转换为一组日历字段(如YEAR、MONTH、DAY_OF_MONTH和HOUR )以及如何处理日历字段(如获取下周的日期)。 瞬时可以用毫秒的值表示,是从格林威治标准时间1970年1月1日的003360003360000.000,fzdej日历)的偏移。
此类还提供了其他字段和方法,用于实现不在包范围内的特定日历系统。 这些字段和方法被定义为protected。
与其他语言环境相关的类一样,Calendar提供类方法getInstance以获取此类型的公共对象。 Calendar的getInstance方法返回日历字段在当前日期和时间初始化的Calendar对象。
calendar right now=calendar.getinstance (; Calendar对象可以生成实现特定语言和日历样式的日期-时间格式所需的所有日历字段值,例如日语-公历、日语-传统日历。 Calendar定义了某些日历字段的返回值范围以及这些值的含义。 例如,对于所有日历,日历系统中第一个月的值为MONTH==JANUARY。 其他值由特定的子类(如ERA )定义。
* * * * * * * * * * * * * * * * *
示例:
java.util.Calendar对于处理日期非常有用,例如newdate.set(calendar.month,12 )。 //加12个月,newdate.set(calendar.date,-1); //前一天
导入Java.text.simple date format;
import java.util.Date;
import java.util.Calendar;
公共类日历
//*
* @param args
*/
publicstaticvoidmain (字符串[ ] args ) {
simpledateformatdateformat=newsimpledateformat (yyyy-mm-ddhh : mm : SSE );
System.out.println ('今天? 3360 ' date format.format (新日期) );
Calendar c=Calendar.getInstance (;
c.set(calendar.day_of_week,Calendar.MONDAY );
date D1=新日期(c.gettimeinmillis ) );
System.out.println (星期一: ) date format.format (D1 );
c.set(Calendar.Day_of_week,Calendar.SUNDAY );
date D2=新日期(c.gettimeinmillis ) );
System.out.println (星期天: ) date format.format (D2 );
}
}
执行结果:
今天呢?2006-12-21 16:39:03星期四
星期一:2006-12-18 16:39:03星期一
星期天:2006-12-17 16:39:03星期天
* * * * * * * * * * * * * * * * *
Calendar和Date的转换非常简单。
calendar calendar=calendar.getinstance (;
//从一个Calendar对象中检索Date对象
Date date=calendar.getTime (;
使Date对象对一个Calendar对象作出反应,
//Calendar/GregorianCalendar没有接受Date对象的构造函数
//所以,必须首先获取实例,然后设置Date对象
calendar.settime(date;