java.util.Calendar
public abstract class Calendar extends Object implements Serializable, Cloneable, Comparable<Calendar>
概念: Calendar作为日历类
提示:
该类作为抽象类,所有不能实例化,Calendar提供了public static Calendar getInstance()方法来获取实例
(该对象为Calendar的子类对象),其日历字段已由当前日期和时间初始化:)
// JDK源代码public static Calendar getInstance(){return createCalendar(TimeZone.getDefault(), Locale.getDefault(Locale.Category.FORMAT));}
字段:
Calendar提供大量的字段来表示日期,如:YEAR、MONTH、DAY_OF_MONTH、HOURYEAR、MONTH、DAY_OF_MONTH、HOUR等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。
| ** | ** |
|---|---|
| YEAR | 年 |
| MONTH | 月(从0开始,可以+1使用) |
| DAY_OF_MONTH | 月中的天(几号) |
| HOUR | 时(12小时制) |
| HOUR_OF_DAY | 时(24小时制) |
| MINUTE | 分 |
| SECOND | 秒 |
| DAY_OF_WEEK | 周中的天(周几,周日为1,可以-1使用) |
方法:
定义:
public abstract void add(int field, int amount)(根据日历的规则,将指定的时间量添加或减去给定的日历字段。)
public final Date getTime() (返回一个 Date表示此物体 Calendar的时间值)
public void set(int field,int value) (将给定的日历字段设置为给定的值)
public int get(int field) (返回给定日历字段的值)
代码演示:
public class Test{public static void main(String[] args){Calendar calendar = Calendar.getInstance();System.out.println("年:"+calendar.get(Calendar.YEAR));System.out.println("月:"+calendar.get(Calendar.MONTH) + 1);System.out.println("日:"+calendar.get(Calendar.DAY_OF_WEEK));System.out.println("时:"+calendar.get(Calendar.HOUR_OF_DAY));System.out.println("分:"+calendar.get(Calendar.MINUTE));System.out.println("秒:"+calendar.get(Calendar.SECOND));calendar.setTime(new Date());calendar.add(Calendar.YEAR,1);calendar.add(Calendar.YEAR,-1);calendar.set(Calendar.YEAR,2021);calendar.get(Calendar.YEAR);}}
