我是java的新手,我正在尝试使用24小时格式来格式化时间。我有两种格式化小时的方法--HH和kk:
SimpleDateFormat format1 new SimpleDateFormat("HH:mm");
SimpleDateFormat format2 new SimpleDateFormat("kk:mm");
Date date = new Date();
System.out.println(format1.format(date));
System.out.println(format2.format(date));
这两者都产生类似11:21的东西。他们之间有什么区别?我错过了什么吗?
答案 0 :(得分:24)
这两种格式基本上做同样的事情,但它们处理midnight
的方式不同。 kk
会将midnight
格式化为24:00
,而HH
会格式化为00:00
。 k
中的一天中的小时数为1-24
,而H
中的小时数为0-23
总是值得检查java documentation,因为它通常提供非常有用的解释和使用示例。
答案 1 :(得分:4)
尝试这样看看差异
SimpleDateFormat format1 = new SimpleDateFormat("HH:mm");
SimpleDateFormat format2 = new SimpleDateFormat("kk:mm");
Date date = new GregorianCalendar(2001, 0, 1, 0, 0 , 0 ).getTime();
System.out.println(format1.format(date));
System.out.println(format2.format(date));
输出
00:00
24:00