为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕少森 2019-11-03 08:04:53
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:0000:00:0005:30:00
查看完整描述

3 回答

?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

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指出的那样))



查看完整回答
反对 回复 2019-11-04
?
holdtom

TA贡献1805条经验 获得超10个赞

请看这里


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


hh是上午/下午格式的小时数


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


毫米是小时


ss是一分钟内的秒数




查看完整回答
反对 回复 2019-11-04
?
大话西游666

TA贡献1817条经验 获得超14个赞

实际上,最后一个并不奇怪。代码设置的是工作时区,而不是工作时区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:00

00:00:00

01:00:00



查看完整回答
反对 回复 2019-11-04
  • 3 回答
  • 0 关注
  • 525 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信