Actuellement, l'heure affichée est 13:35 PM Cependant, je souhaite l'afficher au format 12 heures avec AM / PM, c'est-à-dire 1:35 PM au lieu de 13:35 PM
Le code actuel est comme ci-dessous
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";
}
java
date-format
Ronan
la source
la source
SimpleDateFormat formatDate = new SimpleDateFormat("hh:mm a");
Réponses:
Le moyen le plus simple de l'obtenir en utilisant le modèle de date -
h:mm a
, oùExtrait de code :
En savoir plus sur la documentation - SimpleDateFormat java 7
la source
Utilisez ceci
SimpleDateFormat formatDate = new SimpleDateFormat("hh:mm a");
Documentation Java pour SimpleDateFormat
la source
DateTimeFormatter
classe, selon JSR 310.utiliser à la
"hh:mm a"
place de"HH:mm a"
. Icihh
pour le format 12 heures etHH
pour le format 24 heures.Démo en direct
la source
Sortie: 11-Sep-13 12.25.15.375 PM
la source
h est utilisé pour les heures AM / PM (1-12).
H est utilisé pendant 24 heures (1-24).
a est le marqueur AM / PM
m est minute en heure
Remarque: Deux h afficheront un zéro non significatif: 01:13 PM. Une heure s'imprimera sans le zéro non significatif: 1:13 PM.
On dirait que tout le monde m'a déjà battu, mais je m'égare
la source
la source
Utilisation de Java 8:
La sortie est au
AM/PM
format.la source
Locale
en appelantwithLocale
cet objet de formatage, pour déterminer le langage humain et les normes culturelles à utiliser pour générer leAM
/PM
text.Remplacez simplement la déclaration ci-dessous et cela fonctionnera.
la source
Si vous voulez l'heure actuelle avec AM, PM dans l' utilisation d' Android
Si vous voulez l'heure actuelle avec am, pm
OU
À partir du niveau d'API 26
la source
SimpleDateFormat
classe depuis longtemps obsolète et notoirement gênante . Du moins pas comme première option. Et pas sans aucune réserve. Aujourd'hui, nous avons tellement mieux avecjava.time
l'API de date et d'heure Java moderne et sesDateTimeFormatter
.DateTimeFormatter.ofPattern("hh:mm a", Locale.ENGLISH)
(ou un autre lieu anglophone).Cela affichera la date et l'heure
la source
la source
tl; dr
Laissez les classes java.time modernes de JSR 310 générer automatiquement du texte localisé, plutôt que le codage en dur de l'horloge 12 heures et AM / PM.
Localiser automatiquement
Plutôt que d'insister sur une horloge de 12 heures avec AM / PM, vous pouvez laisser java.time se localiser automatiquement pour vous. Appelez
DateTimeFormatter.ofLocalizedTime
.Pour localiser, spécifiez:
FormatStyle
pour déterminer la longueur ou l'abréviation de la chaîne.Locale
déterminer:Ici, nous obtenons l'heure actuelle telle qu'elle apparaît dans un fuseau horaire particulier. Ensuite, nous générons du texte pour représenter cette heure. Nous localisons la langue française dans la culture canadienne, puis la langue anglaise dans la culture américaine.
Voir ce code exécuté en direct sur IdeOne.com .
la source
la source
Pour mettre la date et l'heure de votre mobile au format
vous pouvez montrer à votre
Activity
,Fragment
,CardView
,ListView
partout en utilisantTextView
la source
la source
Vous pouvez utiliser SimpleDateFormat pour cela.
J'espère que cela vous aide.
la source