日期格式化java中kk和HH之间的区别

Ron*_*ins 13 java datetime date-format simpledateformat

我是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));
Run Code Online (Sandbox Code Playgroud)

这些都产生类似11:21的东西.他们之间有什么区别?我错过了什么吗?

Jos*_*rts 26

这两种格式基本上做同样的事情,但它们的处理方式不同midnight.kk将格式化midnight24:00,而HH将格式化为00:00.在一天的时间kARE 1-24H0-23

总是值得检查java文档,因为它通常提供非常有用的解释以及使用示例.


Evg*_*eev 6

试试这个看看有什么不同

    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));
Run Code Online (Sandbox Code Playgroud)

输出

00:00
24:00
Run Code Online (Sandbox Code Playgroud)