223 votes

Affichage de l'heure actuelle en format 12 heures avec AM/PM

Actuellement, l'heure affichée est 13:35 PM Cependant Je veux afficher le format 12 heures avec AM/PM, c'est-à-dire 1:35 PM au lieu de 13:35 PM.

Le code actuel est le suivant

private static final int FOR_HOURS = 3600000;
private static final int FOR_MIN = 60000;
public String getTime(final Model model) {
    SimpleDateFormat formatDate = new SimpleDateFormat("HH:mm a");
    formatDate.setTimeZone(userContext.getUser().getTimeZone());
    model.addAttribute("userCurrentTime", formatDate.format(new Date()));
    final String offsetHours = String.format("%+03d:%02d", userContext.getUser().getTimeZone().getRawOffset()
    / FOR_HOURS, Math.abs(userContext.getUser().getTimeZone().getRawOffset() % FOR_HOURS / FOR_MIN));
    model.addAttribute("offsetHours",
                offsetHours + " " + userContext.getUser().getTimeZone().getDisplayName(Locale.ROOT));
    return "systemclock";
}

511voto

Subhrajyoti Majumder Points 20001

La façon la plus simple de l'obtenir en utilisant le modèle de date - h:mm a , donde

  • h - Heure en am/pm (1-12)
  • m - Minute en heure
  • a - Marqueur Am/pm

Extrait de code :

DateFormat dateFormat = new SimpleDateFormat("hh:mm a");

En savoir plus sur la documentation - SimpleDateFormat java 7

117voto

Pooja Kansal Points 6049

Utilisez cette SimpleDateFormat formatDate = new SimpleDateFormat("hh:mm a");

enter image description here

Documentation Java pour SimpleDateFormat

77voto

Utiliser "hh:mm a" au lieu de "HH:mm a" . Ici hh pour le format 12 heures et HH pour le format 24 heures.

En direct Démo

33voto

Johnny K Points 339
SimpleDateFormat formatDate = new SimpleDateFormat("hh:mm:ss a");
  • h est utilisé pour les heures AM/PM (1-12).

  • H est utilisé pour les heures de 24 heures (1-24).

  • a est le marqueur AM/PM

  • m est la minute dans l'heure

Note : Deux h imprimeront un zéro de tête : 01:13 PM. Un h s'imprime sans le zéro initial : 13H13.

On dirait que tout le monde m'a déjà devancé, mais je m'éloigne du sujet.

21voto

MansoorShaikh Points 433
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MMM-yy hh.mm.ss.S aa");
String formattedDate = dateFormat.format(new Date()).toString();
System.out.println(formattedDate);

Sortie : 11-Sep-13 12.25.15.375 PM

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X