Aktuell angezeigte Zeit als 13.35 Uhr jedoch ich will mit AM / PM, also 13.35 statt 13.35 Uhr zu 12 - Stunden - Format angezeigt werden
Der aktuelle Code lautet wie folgt
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
quelle
quelle
SimpleDateFormat formatDate = new SimpleDateFormat("hh:mm a");
Antworten:
Der einfachste Weg, es mit Datumsmuster zu bekommen -
h:mm a
, woCode-Auszug :
Lesen Sie mehr zur Dokumentation - SimpleDateFormat Java 7
quelle
Benutze das
SimpleDateFormat formatDate = new SimpleDateFormat("hh:mm a");
Java-Dokumente für SimpleDateFormat
quelle
DateTimeFormatter
Klasse gemäß JSR 310 ersetzt.verwenden
"hh:mm a"
statt"HH:mm a"
. Hierhh
für das 12-Stunden-Format undHH
für das 24-Stunden-Format.Live- Demo
quelle
Ausgabe: 11-Sep-13 12.25.15.375 PM
quelle
h wird für AM / PM-Zeiten (1-12) verwendet.
H wird 24 Stunden lang verwendet (1-24).
a ist der AM / PM-Marker
m ist Minute in Stunde
Hinweis: Zwei Stunden drucken eine führende Null: 13:13 Uhr. Eine Stunde wird ohne die führende Null gedruckt: 13:13 Uhr.
Sieht so aus, als hätten mich im Grunde alle schon geschlagen, aber ich schweife ab
quelle
quelle
Verwenden von Java 8:
Die Ausgabe erfolgt im
AM/PM
Format.quelle
Locale
an, indem SiewithLocale
dieses Formatierungsobjekt aufrufen , um die menschliche Sprache und die kulturellen Normen zu bestimmen, die beim Generieren desAM
/PM
text verwendet werden sollen.Ersetzen Sie einfach die folgende Anweisung und es wird funktionieren.
quelle
Wenn Sie die aktuelle Uhrzeit mit AM, PM in Android verwenden möchten
Wenn Sie die aktuelle Zeit mit morgens, abends möchten
ODER
Ab API-Ebene 26
quelle
SimpleDateFormat
Klasse zu benutzen . Zumindest nicht als erste Option. Und das nicht ohne Vorbehalt. Heute haben wirjava.time
die moderne Java-API für Datum und Uhrzeit und ihreDateTimeFormatter
.DateTimeFormatter.ofPattern("hh:mm a", Locale.ENGLISH)
(oder ein anderes englischsprachiges Gebietsschema) verwenden.Dies zeigt Datum und Uhrzeit an
quelle
quelle
tl; dr
Lassen Sie die modernen java.time- Klassen von JSR 310 automatisch lokalisierten Text generieren, anstatt die 12-Stunden-Uhr und AM / PM fest zu codieren.
Automatisch lokalisieren
Anstatt auf einer 12-Stunden-Uhr mit AM / PM zu bestehen, möchten Sie möglicherweise, dass sich java.time automatisch für Sie lokalisiert. Anruf
DateTimeFormatter.ofLocalizedTime
.Geben Sie zum Lokalisieren Folgendes an:
FormatStyle
um zu bestimmen, wie lang oder abgekürzt die Zeichenfolge sein soll.Locale
bestimmen:Hier erhalten wir die aktuelle Uhrzeit in einer bestimmten Zeitzone. Dann generieren wir Text, um diese Zeit darzustellen. Wir lokalisieren die französische Sprache in der kanadischen Kultur und dann die englische Sprache in der US-Kultur.
Sehen Sie diesen Code live auf IdeOne.com .
quelle
quelle
So geben Sie Ihr aktuelles Datums- und Uhrzeitformat für Mobilgeräte ein
Sie können es auf Ihre zeigen
Activity
,Fragment
,CardView
,ListView
überall durch die VerwendungTextView
quelle
quelle
Sie können hierfür SimpleDateFormat verwenden.
Hoffe das hilft dir.
quelle