Question

I'm pretty new to java and am trying to format a time using 24 hour format. I've come across two ways of formatting the hour - HH and 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));

These both produce something like 11:21. What's the difference between them? Am I missing something?

Was it helpful?

Solution

The two formats essentially do the same thing but differ in how they handle midnight. kk will format midnight to 24:00 whereas HH will format to 00:00. The hours in a day in k are 1-24 and in H are 0-23

It's always worth checking the java documentation as it generally provides very useful explanations as well as examples of uses.

OTHER TIPS

try this to see the difference

    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));

output

00:00
24:00
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top