1、概述
java.util.Calendar,日历类,抽象类。可以进行获取当前日期,进行日期运算。
进行日期运算可以使用子类 java.util.GregorianCalendar【不常用】,也可以使用其静态方法 public Calendar getInstance()获取Calendar的子类对象【常用】。
2、常用方法
2.1 public Calendar getInstance():获取日历实例
2.2 getTime():获取当前日期
举例:通过日历查询当前日期
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
System.out.println(calendar); //输出当前calendar内存存储内容
Date date = calendar.getTime();
System.out.println(date); //输出当前日期时间
}
运行结果:
java.util.GregorianCalendar[...] //括号内为当前calend详细内容
Tue Jul 31 17:49:36 CST 2018
2.3 get (int field):获取某个字段的值
举例:通过日历获取当前年月日时分秒
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH)+1;
int day = calendar.get(Calendar.DAY_OF_MONTH);
int hour = calendar.get(Calendar.HOUR);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
System.out.println(year + "年" + month + "月" + day + "日 " + hour + ":" + minute + ":" + second);
String[] weekStr = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
int weekday = calendar.get(Calendar.DAY_OF_WEEK);//1--7
System.out.println(weekStr[weekday-1]);
}
运行结果:
2018年7月31日 5:42:46
星期二
2.4 set(int field,int value):为字段field,设置为指定的value值,整个Calendar都会发生改变。
举例:将年份改为2019
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
int now = calendar.get(Calendar.YEAR);
System.out.println("now"+now);
calendar.set(Calendar.YEAR,2019);
int then = calendar.get(Calendar.YEAR);
System.out.println("then"+then);
}
运行结果:
now2018
then2019
2.5 add(int field,int value):将字段field增加指定的value值,整个Calendar都会发生改变
举例:今年是2018,将年份改为2019
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
int now = calendar.get(Calendar.YEAR);
System.out.println("now" + now);
calendar.add(Calendar.YEAR, 1);
int then = calendar.get(Calendar.YEAR);
System.out.println("then" + then);
}