Maison > Java > javaDidacticiel > Quelles sont les différences entre kk:mm, HH:mm et hh:mm dans SimpleDateFormat de Java ?

Quelles sont les différences entre kk:mm, HH:mm et hh:mm dans SimpleDateFormat de Java ?

Mary-Kate Olsen
Libérer: 2024-11-09 18:45:02
original
310 Les gens l'ont consulté

What are the differences between kk:mm, HH:mm, and hh:mm in Java's SimpleDateFormat?

Simplifier les formats d'heure : comprendre kk:mm vs. HH:mm vs. hh:mm dans SimpleDateFormat

Dans cette enquête de programmation, nous explorez les distinctions subtiles entre trois formats d'heure couramment utilisés dans la classe SimpleDateFormat de Java : kk:mm, HH:mm et hh:mm.

Variations de format :

  • kk:mm: Format 24 heures, les heures vont de 01 à 24.
  • HH:mm: Format 24 heures, les heures vont de 00 à 23.
  • hh:mm: Format 12 heures, plage d'heures de 01 à 12, avec indicateur AM/PM.

Intuition et mise en œuvre :

Pour démontrer ces différences, considérons le code suivant extrait :

SimpleDateFormat broken = new SimpleDateFormat("kk:mm:ss");
SimpleDateFormat working = new SimpleDateFormat("HH:mm:ss");
SimpleDateFormat working2 = new SimpleDateFormat("hh:mm:ss");

broken.setTimeZone(TimeZone.getTimeZone("Etc/UTC"));
working.setTimeZone(TimeZone.getTimeZone("Etc/UTC"));
working2.setTimeZone(TimeZone.getTimeZone("Etc/UTC"));

System.out.println(broken.format(epoch));
System.out.println(working.format(epoch));
System.out.println(working2.format(epoch));
Copier après la connexion

Résultats et analyse :

Sortie :

24:00:00
00:00:00
05:30:00
Copier après la connexion
  • kk:mm : Affiche 24:00:00, indiquant minuit comme 00:00.
  • HH:mm: Affiche 00:00:00, représentant correctement minuit comme 00:00.
  • hh:mm: Affiche de manière inattendue 05:30:00, malgré le fuseau horaire UTC spécifié (ce qui devrait entraîner minuit).

Cette anomalie survient car le fuseau horaire n'est pas explicitement défini pour travailler2. Par défaut, SimpleDateFormat assume le fuseau horaire local, qui peut ne pas s'aligner sur le format UTC prévu.

Conclusion :

Comprendre les nuances de kk:mm, HH : Les formats mm et hh:mm dans SimpleDateFormat sont cruciaux pour un formatage précis de l’heure. En sélectionnant soigneusement le format approprié et en s'assurant que le fuseau horaire est correctement configuré, les développeurs peuvent représenter efficacement l'heure de la manière souhaitée.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal