在 Java 文档中,Calendar.HOUR
应该以 12 小时格式返回小时,而 Calendar.HOUR_OF_DAY
应该以 24 小时格式返回小时小时格式,但它们都以 12 小时格式返回。
我的代码:
Calendar rightNow = Calendar.getInstance();
int hour = rightNow.get(Calendar.HOUR_OF_DAY);
System.out.println("hour: " + hour);
已经有一个问题与我的问题类似,但有一个特定时间的问题,我正尝试在当前时间做这个。这个问题在这里 java HOUR and HOUR_OF_DAY both returning 12-hr time
编辑:
如果重要的话,这发生在 Windows 的 Eclipse、Windows 的 cmd.exe 和 Ubuntu 的 Terminal 中。
编辑 2
现在我觉得很蠢...我没有意识到我有多个调用当前时间的实例,而且我看错了一个,它是 HOUR_OF_DAY,但是我在控制台中看到的那个是由 HOUR 发布...感谢您在评论和编辑我自己的帖子中的帮助,这让我意识到我的错误
最佳答案
试试这个测试
Calendar c = Calendar.getInstance();
c.set(Calendar.HOUR, 17);
System.out.println(c.get(Calendar.HOUR_OF_DAY));
System.out.println(c.get(Calendar.HOUR));
它打印
17
5
关于返回 12 小时格式的 Java 日历小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25539540/