java Calendar 设置hour应该注意24小时制还是12小时制

  • 2018-09-05
  • 浏览 (353)

java Calendar 设置hour应该注意24小时制还是12小时制,Calendar.HOUR_OF_DAY 是24小时的,Calendar.HOUR 是12小时制的。下面是获取当天0时的代码:

Calendar calendar = Calendar.getInstance();
// 时
calendar.set(Calendar.HOUR_OF_DAY, 0);
// 分
calendar.set(Calendar.MINUTE, 0);
// 秒
calendar.set(Calendar.SECOND, 0);
// 毫秒
calendar.set(Calendar.MILLISECOND, 0);
Date time = calendar.getTime();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
String format = df.format(time);
System.out.println(format);

打印结果:
2018-09-05 00:00:00.000

如果当前是上午用calendar.set(Calendar.HOUR, 0);打印结果:
2018-09-05 00:00:00.000
如果当前是下午,那么打印结果是:
2018-09-05 12:00:00.000

另外Calendar设置上下午的方法:
calendar.set(Calendar.AM_PM, Calendar.AM);
calendar.set(Calendar.HOUR, 0);

如果用
calendar.set(Calendar.AM_PM, Calendar.AM);
calendar.set(Calendar.HOUR, 0);
打印结果:
2018-09-05 00:00:00.000

但这种方式不好。

建议使用Calendar.HOUR_OF_DAY作为参数去设置HOUR。
正文到此结束