HOUR_OF_DAY的范围是多少?

2022-09-02 05:15:52

一个简单的问题,但我找不到它:

HOUR_OF_DAY的范围是在 0 和 23 之间,还是在 1 和 24 之间?

我想要一个随机HOUR_OF_DAY,我需要:

        int randomHour = (int) (Math.random()*24);

        int randomHour = (int) (Math.random()*24+1);

答案 1

文档中

用于 get 和 set 的字段编号,指示一天中的小时数。 用于 24 小时制。例如,在10:04:15.250 PM是22。HOUR_OF_DAYHOUR_OF_DAY

如果 10:04:15.250 PM 为 22,则范围为 - .如果是这样,晚上10点将是23点。这在很多层面上都是错误的。:-)HOUR_OF_DAY023124


答案 2

它是0-23。

我已经通过运行下面的代码对其进行了测试

    Calendar calendar = Calendar.getInstance();
    calendar.set(Calendar.HOUR_OF_DAY, 24);
    System.out.println(calendar.get(Calendar.HOUR_OF_DAY));

输出为 0。

如果您运行

    calendar.set(Calendar.HOUR_OF_DAY, 23);

输出将为 23。

如果您运行

    calendar.set(Calendar.HOUR_OF_DAY, 25);

输出将为 1。


推荐