Différence entre kk et HH dans le formatage de date java


Je suis assez nouveau sur java et j'essaie de formater une heure en utilisant le format 24 heures. J'ai rencontré deux façons de formater l'heure-HH et 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));

Ces deux produisent quelque chose comme 11:21. Quelle est la différence entre eux? Ai-je raté quelque chose?

Author: Sotirios Delimanolis, 2014-04-03

2 answers

, Les deux formats font essentiellement la même chose, mais diffèrent dans la façon dont ils gèrent midnight. kk formatera midnight en 24:00 tandis que HH formatera en 00:00. Le nombre d'heures dans une journée dans k sont 1-24 et en H sont 0-23

Il vaut toujours la peine de vérifier la documentation java car elle fournit généralement des explications très utiles ainsi que des exemples d'utilisations.

 20
Author: Josh Roberts, 2014-04-03 10:40:07

Essayez ceci pour voir la différence

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

Sortie

00:00
24:00
 3
Author: Evgeniy Dorofeev, 2014-04-03 10:41:17