Java日历未清除一天中的小时数

Java日历未清除一天中的小时数,java,calendar,Java,Calendar,我正试图用Java从日历中清除每天的小时数。对于每一个其他字段,该值将被清除。仅限一天中的小时并非如此 Calendar c = Calendar.getInstance(); c.clear(Calendar.MINUTE); c.clear(Calendar.HOUR_OF_DAY); System.out.println(c.getTime()); 打印2016年5月4日星期三12:00:31 IST 在2 PM打印2016年5月4日星期三14:00:31 IST来自: HOUR\u O

我正试图用Java从日历中清除每天的小时数。对于每一个其他字段,该值将被清除。仅限一天中的
小时
并非如此

Calendar c = Calendar.getInstance();
c.clear(Calendar.MINUTE);
c.clear(Calendar.HOUR_OF_DAY);
System.out.println(c.getTime());
打印
2016年5月4日星期三12:00:31 IST

2 PM
打印
2016年5月4日星期三14:00:31 IST

来自:

HOUR\u OF u DAY
HOUR
AM\u PM
字段是独立处理的,并且应用了一天中时间的解析规则。清除其中一个字段不会重置此日历的小时值。使用
set(Calendar.HOUR\u OF_DAY,0)
重置小时值

所以

应该能得到你想要的。

来自:

HOUR\u OF u DAY
HOUR
AM\u PM
字段是独立处理的,并且应用了一天中时间的解析规则。清除其中一个字段不会重置此日历的小时值。使用
set(Calendar.HOUR\u OF_DAY,0)
重置小时值

所以


应该可以得到你想要的。

我不想重复这个问题,因为它没有指定API文档(它不起作用的原因)@piyushjaiswalf对于仅日期的值,没有时间,请使用。我不想重复这个问题,因为它没有指定API文档(它不起作用的原因)@Piyushjaiswalf对于只包含日期的值,不包含时间,如果api使用不正确,则use.clear()应引发RuntimeException,否?这是一个真正的问题。如果api使用不正确,clear()应该抛出RuntimeException,不是吗?这真是个难题。
c.set(Calendar.HOUR_OF_DAY, 0);