Java Calendar 注意事项

时间:2023-03-08 21:21:31
Java Calendar 注意事项

Java JDK 提供了java.util.Calendar来处理日期和时间。Calendar是一个抽象类,是所有日历的模板,因此我们可以继承Calendar来实现其他的历法(比如阴历)。

Java提供了一种Calendar的默认实现java.util.GregorianCalendar格里高利日历(公历),使用Calendar.getInstance();获取的就是默认的GregorianCalendar。

Calendar与Date的互相转换。

  

  1.如果Calendar没有设置相关的值,就是以当前系统时间来设置。

  2.add(int field,int amount),如果要增加某个字段的值,则让amount为正数;如果要减少某个字段的值,则让amount为负数。而且当超出允许范围时,会发生自动进位。

  3.roll()的含义与用法和add()的类似,但是当被修改的字段超出它允许的范围时,他不会进位。

  4.set(int field,int amount),方法具有延迟修改的功能:他内部设置了一个成员变量,以指示日历字段field已经被修改,但是该Calendar所代表的时间不会立即修改,他会直到下次调用get/getTime/getTimeInMills/add/roll时才会重新计算日历时间。

    public static void main(String[] arg) {
Calendar calendar = Calendar.getInstance();
calendar.set(, Calendar.JULY, );
calendar.set(Calendar.MONTH, Calendar.SEPTEMBER);
System.out.print(calendar.get(Calendar.MONTH) + + "月" + calendar.get(Calendar.DATE) + "日\t");
calendar.set(Calendar.DATE, );
System.out.print(calendar.get(Calendar.MONTH) + + "月" + calendar.get(Calendar.DATE) + "日\t");
//10月1日 10月5日 calendar.set(, Calendar.JULY, );
calendar.set(Calendar.MONTH, Calendar.SEPTEMBER);
//System.out.print(calendar.get(Calendar.MONTH) + 1 + "月" + calendar.get(Calendar.DATE) + "日\t");
calendar.set(Calendar.DATE, );
System.out.print(calendar.get(Calendar.MONTH) + + "月" + calendar.get(Calendar.DATE) + "日\t");
//9月5日
}