Spécificateurs de format d'heure dans SimpleDateFormat
Lors de l'utilisation de SimpleDateFormat pour formater les valeurs d'heure, il est crucial de comprendre les différences entre les spécificateurs de format d'heure kk : mm, HH:mm et hh:mm.
kk:mm
Le spécificateur kk représente les heures sur une échelle de 24 heures, allant de 01 à 24. Par exemple, 24:00:00 indique minuit.
HH:mm
Contrairement à kk, HH spécifie les heures sur une échelle de 24 heures de 00 à 23h00. :00:00 indique minuit.
hh:mm
Le spécificateur hh affiche les heures sur une échelle de 12 heures, en utilisant 01 à 12 en conjonction avec AM/PM . Par conséquent, 00 :00 :00 ou 12 :00 :00 PM représenterait midi.
Considérez le code Java suivant :
SimpleDateFormat broken = new SimpleDateFormat("kk:mm:ss"); broken.setTimeZone(TimeZone.getTimeZone("Etc/UTC")); SimpleDateFormat working = new SimpleDateFormat("HH:mm:ss"); working.setTimeZone(TimeZone.getTimeZone("Etc/UTC")); SimpleDateFormat working2 = new SimpleDateFormat("hh:mm:ss"); working.setTimeZone(TimeZone.getTimeZone("Etc/UTC")); System.out.println(broken.format(epoch)); System.out.println(working.format(epoch)); System.out.println(working2.format(epoch));
Ce code imprime le résultat suivant :
24:00:00 00:00:00 05:30:00
La différence dans la sortie de working2 est due au fait que le code définit le fuseau horaire de working2 mais pas son format. En conséquence, il affiche à tort 05:30:00 AM ou PM, alors qu'il devrait afficher 00:00:00 AM.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!