Calendar是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为静态成员变量,方便获取。
Calendar为抽象类,由于语言敏感性,Calendar类在创建对象时并非直接创建,而是通过静态方法创建,将语言敏感内容处理好,再返回子类对象。
Calendar类静态方法:static Calendar getInstance();使用默认时区和语言环境获取一个日历
Calendar c = Calendar.getInstance(); //返回当前时间
打印c将会出现一连串的字符串
Calendar类的常用方法(重要)
Calendar类的get方法: 获取日历字段的值
int get(int):参数int,获取的哪个日历字段,返回值,就表示日历字段的具体数值
下面代码的输出结果为:2018年8月28日
public static void function(){
Calendar c=Calendar.getInstance();
//获取年份
int year=c.get(Calendar.YEAR);
//获取月份
int month=c.get(Calendar.MONTH)+1;//月份显示的是0-11月
//获取天数
int day=c.get(Calendar.DAY_OF_MONTH);
System.out.println(year+"年"+month+"月"+day+"日");
}
Calendar类的set方法:设置日历
set(int field,int value):field设置的日历字段,value设置后的具体数值
set(int year,int month,int day):传递三个整数的年月日
下面代码的输出结果为:2019年10月13日
public static void function1(){
Calendar c=Calendar.getInstance();
//设置,月份,设置到10月份
// c.set(Calendar.MONTH, 9);
//设置年月日
c.set(2019, 9, 13);
//获取年份
int year=c.get(Calendar.YEAR);
//获取月份
int month=c.get(Calendar.MONTH)+1;//月份显示的是0-11月
//获取天数
int day=c.get(Calendar.DAY_OF_MONTH);
System.out.println(year+"年"+month+"月"+day+"日");
}
Calendar类方法add:日历中的偏移量,可以指定一个日历中的字段,进行整数的偏移
add ( int field , int value)
下面代码的输出结果为:2019年6月4日
public static void function2(){
Calendar c=Calendar.getInstance();
//让日历中的天数,向后偏移280天
c.add(Calendar.DAY_OF_MONTH, 280);
//获取年份
int year=c.get(Calendar.YEAR);
//获取月份
int month=c.get(Calendar.MONTH)+1;//月份显示的是0-11月
//获取天数
int day=c.get(Calendar.DAY_OF_MONTH);
System.out.println(year+"年"+month+"月"+day+"日");
}
Calendar类的方法:把日历对象转成Date日期对象
getTime()
下面代码的输出结果为:Tue Aug 28 19:53:28 CST 2018
public static void function3(){
Calendar c=Calendar.getInstance();
Date date=c.getTime();
System.out.println(date);
}