Maison > Java > javaDidacticiel > Comment convertir des horodatages millisecondes en chaînes temporelles lisibles par l'homme en Java ?

Comment convertir des horodatages millisecondes en chaînes temporelles lisibles par l'homme en Java ?

Patricia Arquette
Libérer: 2024-11-11 22:59:02
original
374 Les gens l'ont consulté

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

Conversion d'horodatages millisecondes en chaînes temporelles lisibles par l'homme en Java

Lorsque vous travaillez avec des données horodatées, il est souvent nécessaire de convertir un entier long représentant le nombre de millisecondes écoulées depuis l'époque (1er janvier 1970) dans un format plus lisible et informatif, tel que "h:m:s:ms" (heures:minutes:secondes:millisecondes).

Dans le contexte de log4j, récupérer un horodatage d'un événement de journalisation peut être obtenu via le champ logEvent.timeStamp. Cependant, convertir cet horodatage en une heure formatée peut s'avérer difficile.

Approches incorrectes :

Tentatives de conversion directe des millisecondes à l'aide d'opérations telles que la division par le nombre de secondes dans une heure ou l'utilisation de la méthode TimeUnit.MILLISECONDS.toMinutes() donnera des résultats incorrects, car le processus de conversion implique plus qu'une simple arithmétique.

Solution correcte :

Pour convertir avec précision un horodatage milliseconde en une chaîne d'heure formatée, nous pouvons utiliser les capacités de formatage de date et d'heure intégrées de Java :

Date date = new Date(logEvent.timeStamp);
DateFormat formatter = new SimpleDateFormat("HH:mm:ss.SSS");
formatter.setTimeZone(TimeZone.getTimeZone("UTC"));
String dateFormatted = formatter.format(date);
Copier après la connexion

Cet exemple illustre le processus de conversion :

  • nouveau Date() crée un objet Date à partir de la valeur en millisecondes.
  • SimpleDateFormat crée un formateur avec un modèle de date spécifique ("HH:mm:ss.SSS" pour les heures, les minutes, les secondes et les millisecondes).
  • Le fuseau horaire du formateur est défini sur UTC (temps universel coordonné) pour garantir un formatage cohérent.
  • formatter.format(date) renvoie l'heure formatée sous forme de chaîne.

Autres options de formatage :

L'API Java fournit une variété de modèles de date SimpleDateFormat pour prendre en charge différents styles de formatage. Voici quelques options courantes :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal