简介
Calendar类是一个抽象类,不可以被实例化。在程序中需要调用静态方法getInstance()来得到一个Calendar对象,然后才能调用其相应的方法。
Calendar calendar=Calendar.getInstance();
常见方法
-
void add(int field, int amount)
根据日历的规则,为给定的日历字段添加或减去指定的时间量。 -
int get(int field)
返回给定日历字段的值。 -
void set(int year, int month, int date)
设置日历字段 YEAR、MONTH 和 DAY_OF_MONTH 的值。 -
void set(int year, int month, int date, int hourOfDay, int minute)
设置日历字段 YEAR、MONTH、DAY_OF_MONTH、HOUR_OF_DAY 和 MINUTE 的值。 -
void set(int year, int month, int date, int hourOfDay, int minute, int second)
设置字段 YEAR、MONTH、DAY_OF_MONTH、HOUR、MINUTE 和 SECOND 的值。
上面大多数方法都用到了int类型的参数field,该参数需要接收Calendar类中定义的常量值,这些常量值分别表示不同的字段,如:Calendar.YEAR用于表示年份,Calendar.MONTH表示月份,Calendar.SECOND用来表示秒等。
月份的获取是从0开始,而不是1开始,而且歪果仁的星期一相当于我们的星期二哦,他们的星期一是在相当于我们的礼拜天开始的。
Calendar calendar=Calendar.getInstance();
//常见常量的用法
//获取当前年份
int year=calendar.get(Calendar.YEAR);
//获取当前月份
int moth=calendar.get(Calendar.MONTH)+1;
//获取当前日
int date=calendar.get(Calendar.DATE);
//获取时
int hour=calendar.get(Calendar.HOUR);
//获取当前为这个月的第几天
int day_moth=calendar.get(Calendar.DAY_OF_MONTH);
//获取当前为这个周的第几天
int day_week=calendar.get(Calendar.DAY_OF_WEEK);
//获取当前为这年的第几天
int day_year=calendar.get(Calendar.DAY_OF_YEAR);
System.out.println(year+"年"+moth+"月"+date+"日"+hour+"时");
System.out.println("这个月的第"+day_moth+"天");
System.out.println("这个周的第"+day_week+"天");
System.out.println("这个年的第"+day_year+"天");
输出
2020年8月2日9时
这个月的第2天
这个周的第1天
这个年的第215天
//设置指定日期
calendar.set(2018, 1,1);
//为指定日期增加时间
calendar.add(calendar.MONTH, 4);
System.out.println(calendar.getTime());
输出
Fri Jun 01 21:14:45 GMT+08:00 2018