猿问

SimpleDateFormat上的Java HH:mm和hh:mm之间的区别

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


神不在的星期二
浏览 2550回答 3
3回答

慕工程0101907

kk:(01-24)看起来像01,02..24。HH:(00-23)看起来像00,01..23。hh:(AM / PM中的01-12)看起来像01,02..12。因此最后一个打印输出(working2)有点奇怪。它应该说12:00:00(编辑:如果您正在设置working2时区和格式,那不是(如kdagli指出的那样))

江户川乱折腾

请看这里HH是一天中的小时(从0到23开始)hh是上午/下午格式的小时数kk是一天中的小时(从1到24)毫米是小时ss是一分钟内的秒数

红颜莎娜

实际上,最后一个并不奇怪。代码设置的是工作时区,而不是工作时区2。SimpleDateFormat working2 = new SimpleDateFormat("hh:mm:ss"); 工作中.setTimeZone(TimeZone.getTimeZone("Etc/UTC"));kk从1到24,HH从0到23,hh从1到12(AM / PM)。修复此错误可以得到:24:00:0000:00:0001:00:00
随时随地看视频慕课网APP

相关分类

Java
我要回答