一.获取当前时间
// 使用默认时区和语言环境获得一个日历
Calendar cal = Calendar.getInstance();
// 赋值时年月日时分秒常用的6个值,注意月份下标从0开始,所以取月份要+1
System.out.println("年:" + cal.get(Calendar.YEAR));
System.out.println("月:" + (cal.get(Calendar.MONTH) + 1));
System.out.println("日:" + cal.get(Calendar.DAY_OF_MONTH));
System.out.println("时:" + cal.get(Calendar.HOUR_OF_DAY));
System.out.println("分:" + cal.get(Calendar.MINUTE));
System.out.println("秒:" + cal.get(Calendar.SECOND));
运行结果:
二、设置时间
月份的下标从 0 开始,设置时同样需要注意
举例:
Calendar cal1 = Calendar.getInstance();//月份的设置要减一
// 如果想设置为某个日期,可以一次设置年月日时分秒,由于月份下标从0开始赋值月份要-1
// cal.set(year, month, date, hourOfDay, minute, second);
cal1.set(2019, 7, 27, 13, 10, 50);
可以单个字段单个字段地设置:
//注意:由于月份下标从0开始赋值,所以月份要在你实际想设置的数的基础上-1
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR,2019);//年
cal.set(Calendar.MONTH,8);//月
cal.set(Calendar.DAY_OF_MONTH,27);//日
cal.set(Calendar.HOUR_OF_DAY,9);//小时
cal.set(Calendar.MINUTE,27);//分钟
cal.set(Calendar.SECOND,59);//秒
System.out.println(cal.getTime());
运行结果:
三、时间计算(调用add方法)
跨年型:在新年最后一刻加一秒。2018年12月31日23时59分59秒
Calendar cal = Calendar.getInstance();
cal.set(2018, 12, 31, 23, 59, 59);
cal.add(Calendar.SECOND, 1);
System.out.println(cal.getTime());
运行结果:2019年1月1日0时0分0秒
Fri Feb 01 00:00:00 CST 2019
跨月型:
Calendar cal = Calendar.getInstance();
cal.set(2019, 3, 30);//实际为2018年4月30号
cal.add(Calendar.DAY_OF_MONTH, 1);
System.out.println(cal.getTime());
运行结果:
Tue May 01 11:44:38 CST 2019