Could this simply be a 12 vs 24h display issue? Where 12:00 am is printed as 0:00? What locale are you on, and what platform does the shape with — .NET, Cocoa or Java?
Well the issue is not that 12.00 is printed as 0:00. It’s the other way around. hour 0 is printed as 12:00 and hour 1 is printed as 01:00. Locale is GMT + 1 and this issue is on Android.
But it’s probably just something in the ToString method causing this behaviour. Since hours:
0
12
24
are all printed as 12:00
and hour 23 is printed as 11:00 instead of 23:00.
So I guess the easiest way to work around this is using the getHour() method in a own Formatter since this results in the following: