Heim > Java > javaLernprogramm > Hauptteil

Wie konvertiere ich Millisekunden-Zeitstempel in für Menschen lesbare Zeitzeichenfolgen in Java?

Patricia Arquette
Freigeben: 2024-11-11 22:59:02
Original
262 Leute haben es durchsucht

How to Convert Millisecond Timestamps to Human-Readable Time Strings in Java?

Konvertieren von Millisekunden-Zeitstempeln in für Menschen lesbare Zeitzeichenfolgen in Java

Bei der Arbeit mit zeitgestempelten Daten besteht häufig die Notwendigkeit, eine lange Ganzzahl zu konvertieren, die die Anzahl der Millisekunden seither darstellt die Epoche (1. Januar 1970) in ein besser lesbares und informativeres Format, wie zum Beispiel „h:m:s:ms“ (Stunden:Minuten:Sekunden:Millisekunden).

Im Kontext von log4j kann das Abrufen eines Zeitstempels von einem Protokollierungsereignis über das Feld logEvent.timeStamp erreicht werden. Das Konvertieren dieses Zeitstempels in eine formatierte Zeit kann jedoch eine Herausforderung sein.

Falsche Ansätze:

Versuche, die Millisekunden direkt umzuwandeln, indem Operationen wie das Teilen durch die Anzahl der Sekunden in verwendet werden Eine Stunde oder die Verwendung der TimeUnit.MILLISECONDS.toMinutes()-Methode führt zu falschen Ergebnissen, da der Konvertierungsprozess mehr als nur einfach ist Arithmetik.

Richtige Lösung:

Um einen Millisekunden-Zeitstempel genau in eine formatierte Zeitzeichenfolge umzuwandeln, können wir die integrierten Datums- und Uhrzeitformatierungsfunktionen von Java nutzen:

Date date = new Date(logEvent.timeStamp);
DateFormat formatter = new SimpleDateFormat("HH:mm:ss.SSS");
formatter.setTimeZone(TimeZone.getTimeZone("UTC"));
String dateFormatted = formatter.format(date);
Nach dem Login kopieren

Dieses Beispiel zeigt den Konvertierungsprozess:

  • new Date() erstellt ein Date-Objekt aus dem Millisekundenwert.
  • SimpleDateFormat erstellt einen Formatierer mit einem bestimmten Datumsmuster („HH:mm:ss.SSS“ für Stunden, Minuten, Sekunden und Millisekunden).
  • Die Zeitzone des Formatierers ist auf UTC (koordinierte Weltzeit) eingestellt, um eine konsistente Formatierung zu gewährleisten.
  • formatter.format(date) gibt die formatierte Zeit als zurück eine Zeichenfolge.

Andere Formatierungsoptionen:

Die Java-API bietet eine Vielzahl von SimpleDateFormat-Datumsmustern zur Unterstützung verschiedener Formatierungsstile. Hier sind einige gängige Optionen:

Pattern Output
"h:m:s:ms" 03:34:56:123
"EEE, MMM d, yyyy hh:mm:ss a" Wed, Mar 17, 2023 03:34:56 PM
"yyyy-MM-dd HH:mm:ss.SSS" 2023-03-17 15:34:56.123

Das obige ist der detaillierte Inhalt vonWie konvertiere ich Millisekunden-Zeitstempel in für Menschen lesbare Zeitzeichenfolgen in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage