Calendar类是一个抽象类(Calendar类不能直接创建实例),它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH、HOUR等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下个星期的日期)提供了一些方法;瞬间可用毫秒值来表示,它是距历元(格林威治时间1970年1月1日的00:00:00.000)的偏移量
Calendar类如果要创建实例,必须通过getInstance()方法构造Calendar的子类对象。[单例设计模式]
常用方法:
static Calendar getInstance():使用默认时区和语言环境获得一个日历。
Date getTime():返回一个表示此 Calendar 时间值(从历元至现在的毫秒偏移量)的 Date 对象。
int get(int field):返回给定日历字段的值。
void set(int field, int value):将给定的日历字段设置为给定值。
abstract void add(int field, int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量。
说明:
上述方法中参数field字段表示Calendar类的YEAR、MONTH、DAY_OF_MONTH、DAY_OF_WEEK、HOUR、MINUTE、SECOND等日历字段
示例:
public static void main(String[] args){
Calendar c=Calendar.getInstance();
// 查表法
String[] mons={"一月","二月","三月","四月",
"五月","六月","七月","八月",
"九月","十月","十一月","十二月"};
// 查表法
String[] weeks={"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
int index = c.get(Calendar.MONTH);
int index1 = c.get(Calendar.DAY_OF_WEEK);
sop(c.get(Calendar.YEAR)+"年");
// sop((c.get(Calendar.MONTH)+1)+"月");
sop(mons[index]);
sop(c.get(Calendar.DAY_OF_MONTH)+"日");
// sop("星期:"+(c.get(Calendar.DAY_OF_WEEK)-1));
sop(weeks[index1]);
}
public static void sop(Object obj){
System.out.println(obj);
}
Calendar月份和星期额外+1或-1说明:
https://www.cnblogs.com/tengqiuyu/p/6834576.html