最近使用JAVA的日期处理Date类,发现用起来不是很方便,然后查了下API,发型JAVA有一个日历类Calendar,不过这是抽象类,我们用实现了Calendar的子类GregorianCalendar。用法:
1.构造函数
GregorianCalendar()构造一个当前语言环境下默认的GregorianCalendar;
比较方便的是GregorianCalendar支持传入int类型的年月日,或者年月日时分,或者年月日时分秒,这样来构造一个时间。如new GregorianCalendar(2012,10,11,12,13)即得到2010年10月11日12时13分。
2.分别获取年月日时分秒的值
GregorianCalendar提供了get(int field)方法(此方法从父类Calendar继承),即通过字段的序号来获取字段的值。但是注意的是,GregorianCalendar中年月日时分秒并不是挨着的123456序号,下面给出具体的序号及简单的例子:
年:get(1),月:get(2),日:get(5),时:get(11),分:get(12),秒:get(13)
或者使用Calendar的常量Calendar.YEAR,Calendar.MONTH,Calendar.DAY_OF_MONTH,Calendar.HOUR,Calendar.MINUTE,Calendar.SECOND作为get函数的参数来分别获取年月日时分秒。
publicstaticvoid main(String[] args) {
GregorianCalendar gc =new GregorianCalendar(2012, 10, 11, 12, 13, 14);
System.out.println("年:" + gc.get(1));
System.out.println("月:" + gc.get(2));
System.out.println("日:" + gc.get(5));
System.out.println("时:" + gc.get(11));
System.out.println("分:" + gc.get(12));
System.out.println("秒:" + gc.get(13));
System.out.println(gc.getTime().toString());
}
上面代码中的getTime()返回一个Date类型的对象,转换为大家熟悉的Date类型。
另外GregorianCalendar还继承了父类Calendar的after,before等方法,本身实现了equals等方法,对时间的比较等操作也非常方便。