en Java, je veux imprimer juste l'heure de la journée en heures et en minutes et je veux changer correctement entre, par exemple, "13h00" et "13h00" selon les paramètres régionaux. Comment puis-je faire cela? P>
3 Réponses :
Utilisez le Java.Text.dateFormat classe pour créer la sortie correcte du temps donné.
A partir de l'API: P>
Pour formater une date pour la locale actuelle, utilisez l'une des méthodes d'usine statiques: P>
myString = DateFormat.getDateInstance().format(myDate);
La locale ne précise pas explicitement si les formats de 12 ou 24 heures sont préférés. Au lieu de cela, les formats de date spécifiques aux paramètres régionaux sont gérés par les paramètres régionaux définissant directement les formats. P>
Si vous souhaitez simplement utiliser le format temporel "Locale préféré", appelez simplement l'un des trois Si vous avez un dateformat.getimeInstance (...) code>
méthodes statiques et utilisez tout ce que dateformat code> il revient. < / p> li>
SimpleDateDormat CODE> instance dans vos mains, vous pouvez (si vous étiez prêt à faire une quantité importante de codage), appelez
topattern () code>
et analyser le modèle résultant à Voyez s'il utilisait une dates de 12 ou 24 heures ... ou non ni. Vous pouvez même modifier le modèle pour utiliser le "autre" formulaire, puis appeler applypattern (string) code>
pour modifier le format. p> li>
ul>
Merci beaucoup! Puisque je veux vraiment juste l'imprimer dateformat.gettimeInstance (dateformat.short, somélocale) code> a fait le tour pour moi. Je n'attends certainement pas à une situation où j'ai besoin de savoir quel format de l'heure est utilisé: p.
J'ai écrit une petite fonction qui détecte si la locale actuelle utilise 24 ou 12 heures:
Cela ne fonctionnera pas si vous avez une locale différente par défaut, pour laquelle les marqueurs AM / PM sont différents.