Calendar日历类
Calendar 类是一个抽象类,为我们提供了关于日期计算的相关功能,比如:年、月、日、时、分、秒的展示和计算。
GregorianCalendar 是 Calendar 的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统。
注意月份的表示,一月是0,二月是1,以此类推,12月是11。 因为大多数人习惯于使用单词而不是使用数字来表示月份,这样程序也许更易读,父类Calendar使用常量来表示月份:JANUARY、FEBRUARY等等。
获取时间
Calendar calendar = Calendar.getInstance();//获取年月日时分秒
calendar .get(Calendar.YEAR);
calendar .get(Calendar.MONTH) ; // 0-11,分别表示1-12月
calendar .get(Calendar.DATE); //1-31
calendar .get(Calendar.HOUR_OF_DAY); //24小时制
calendar .get(Calendar.MINUTE);
calendar .get(Calendar.SECOND);
//获取明天的日历信息
calendar .add(Calendar.DAY_OF_YEAR, 1);
//获取昨天的日历信息
calendar .add(Calendar.DAY_OF_YEAR, -1);
//获取当前时间的毫秒显示
calendar .getTimeInMillis()
//常用field
Calendar.YEAR——年份
Calendar.MONTH——月份
Calendar.DATE——日期
Calendar.DAY_OF_MONTH——日期,和上面的字段完全相同
Calendar.HOUR——12小时制的小时数
Calendar.HOUR_OF_DAY——24小时制的小时数
Calendar.MINUTE——分钟
Calendar.SECOND——秒
Calendar.DAY_OF_WEEK——星期几
设置时间
如果想设置为某个日期,可以一次设置年月日时分秒,由于月份下标从0开始赋值月份要-1 ,cal.set(year, month, date, hourOfDay, minute, second);
Calendar cal = Calendar.getInstance();
cal.set(2018, 1, 15, 23, 59, 59);
cal.set(Calendar.HOUR_OF_DAY, 17);
cal .set(Calendar.MINUTE, 30);
日期的计算
Calendar cal = Calendar.getInstance();
System.out.println(cal.getTime());
cal.set(2018, 1, 15, 23, 59, 59);
cal.add(Calendar.SECOND, 1);
System.out.println(cal.getTime());输出:
ThuFeb 15 23:59:59CST 2018
FriFeb 16 00:00:00CST 2018