Calendar
Calendar
类是一个抽象类,它为特定瞬间与一组诸如 YEAR
、MONTH
、DAY_OF_MONTH
、HOUR
等 日历字段
之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
常用方法
static Calendar getInstance() | 使用默认时区和区域设置获取日历。通过该方法生成Calendar对象。 |
int get(int field) | 通过制定的字段获得对应的值 ----> 获得当前的年月日... |
set(int field,int value) | 给指定的字段设置值,注意把新值覆盖之前的这个字段值,会自动的进位 |
add(int field,int amount) | 这个方法和set差不多,但是把amount的值累加到当前设置的字段原有的值之上 |
setTime(Date d) | 可以直接把一个Date设置进去 |
Date getTime() | 可以获得日历对象中的当前日期对象 |
其他方法参考API文档
日历字段
static int | DATE get 和 set 的字段数字,指示一个月中的某天。 |
static int | DAY_OF_MONTH get 和 set 的字段数字,指示一个月中的某天。 |
static int | DAY_OF_WEEK get 和 set 的字段数字,指示一个星期中的某天。 |
static int | DAY_OF_WEEK_IN_MONTH get 和 set 的字段数字,指示当前月中的第几个星期。 |
static int | DAY_OF_YEAR get 和 set 的字段数字,指示当前年中的天数。 |
static int | FRIDAY 指示 Friday 的 DAY_OF_WEEK 字段值。 |
static int | HOUR get 和 set 的字段数字,指示上午或下午的小时。 |
static int | HOUR_OF_DAY get 和 set 的字段数字,指示一天中的小时。 |
static int | MILLISECOND get 和 set 的字段数字,指示一秒中的毫秒。 |
static int | MINUTE get 和 set 的字段数字,指示一小时中的分钟。 |
static int | MONTH 指示月份的 get 和 set 的字段数字。 |
static int | SECOND get 和 set 的字段数字,指示一分钟中的秒。 |
static int | WEEK_OF_MONTH get 和 set 的字段数字,指示当前月中的星期数。 |
static int | WEEK_OF_YEAR get 和 set 的字段数字,指示当前年中的星期数。 |
static int | YEAR 指示年的 get 和 set 的字段数字。 |
其他字段详情见API文档
public static void main(String[] args) {
//获取Calendar对象
Calendar instance = Calendar.getInstance();
//获得日历中的个字段信息
System.out.println(instance.get(instance.YEAR));
System.out.println(instance.get(instance.MONTH)+1);
System.out.println(instance.get(instance.DATE));
System.out.println(instance.get(instance.DAY_OF_MONTH));
System.out.println(instance.get(instance.DAY_OF_WEEK));
System.out.println(instance.get(instance.DAY_OF_YEAR));
//通过add方法可以对字段进行加的操作
instance.add(instance.YEAR, 10);
System.out.println(instance.get(instance.YEAR));
//操作完成日历字段后获得日期对象
Date time = instance.getTime();
System.out.println(time);
//用日期,初始化一个日历对象
Date date = new Date();
instance.setTime(date);
//在做日历Calendar字段的,修改等等...
//继续获得日期对象Date
}
打印结果:
2019//当前的年份
7//当前月份,注意月份是从0开始的,因此想要+1
24//一个月的天数
24//一个月的天数
4//一个月的当前周数
205//一年中的当前天数
2029//对当前年份进行+10后的年份
Tue Jul 24 20:29:21 CST 2029//当前Date类型的时间
ps:注意Calendar获取的月份是从0开始的,因此想要获得正确的月份,则需要进行+1操作