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 :
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));
Résultats et analyse :
Sortie :
24:00:00 00:00:00 05:30:00
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!