Reputation: 293
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?
Upvotes: 23
Views: 19935
Reputation: 135992
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
Upvotes: 6
Reputation: 892
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.
Upvotes: 41