Java HH:mm和hh:mm在SimpleDateFormat上的区别

2022-08-31 14:42:49

kk:mm,HH:mm和hh:mm格式之间有什么区别?

    SimpleDateFormat broken = new SimpleDateFormat("kk:mm:ss");
    broken.setTimeZone(TimeZone.getTimeZone("Etc/UTC"));
    SimpleDateFormat working = new SimpleDateFormat("HH:mm:ss");
    working.setTimeZone(TimeZone.getTimeZone("Etc/UTC"));
    SimpleDateFormat working2 = new SimpleDateFormat("hh:mm:ss");
    working.setTimeZone(TimeZone.getTimeZone("Etc/UTC"));

    System.out.println(broken.format(epoch));
    System.out.println(working.format(epoch));
    System.out.println(working2.format(epoch));

指纹:

24:00:00
00:00:00
05:30:00

答案 1

kk:(01-24)将看起来像01,02..24。

HH:(00-23) 将看起来像 00, 01..23。

hh:(上午/下午 01-12 点)将类似于 01,02..12。

所以最后的打印输出()有点奇怪。它应该说12:00:00(编辑:如果你正在设置时区和格式,(正如kdagli指出的那样)你不是)working2working2


答案 2

看这里

HH 是一天中的小时(从 0 到 23 开始)

hh 是 am/pm 格式的小时数

kk 是一天中的小时(从 1 到 24 开始)

毫米以小时为单位

ss 是一分钟内的秒数