Java日历没有清除一天中的小时

时间:2016-05-04 06:58:18

标签: java calendar

我正在尝试从Java中的Calendar中清除HOUR_OF_DAY。对于每个其他字段,该值将被清除。仅适用于HOUR_OF_DAY,不是。

Calendar c = Calendar.getInstance();
c.clear(Calendar.MINUTE);
c.clear(Calendar.HOUR_OF_DAY);
System.out.println(c.getTime());

打印Wed May 04 12:00:31 IST 2016

2 PM打印Wed May 04 14:00:31 IST 2016

1 个答案:

答案 0 :(得分:5)

来自API of clear

  

HOUR_OF_DAYHOURAM_PM字段是独立处理的,并且应用了时间的解析规则。清除其中一个字段不会重置此日历的小时值。使用set(Calendar.HOUR_OF_DAY, 0)重置小时值。

所以,

c.set(Calendar.HOUR_OF_DAY, 0);

应该得到你想要的东西。