作者 : kyle   时间 : 2018-09-05   浏览 : ...

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。

原创文章如转载,请注明本文链接: http://www.seaxiang.com/blog/java_HOUR_OF_DAY
seaxiang  All Rights Reserved   粤ICP备15083047号-1