Conversion de millisecondes en dates en Java
Lorsque vous traitez des fichiers journaux contenant des horodatages en millisecondes, il devient nécessaire de convertir ces valeurs en valeurs lisibles. dates. Cependant, le comportement par défaut de SimpleDateFormat peut introduire des inexactitudes dues aux différences de zone de tome. Cet article vous guidera à travers différentes approches pour convertir efficacement les millisecondes en dates avec des fuseaux horaires spécifiés.
Classe de date Java intégrée
La classe java.util.Date vous permet de créer un objet Date à partir des millisecondes fournies :
<code class="java">Date date = new Date(millis);</code>
SimpleDateFormat
Une fois que vous avez un objet Date, vous pouvez utiliser SimpleDateFormat pour le formater dans le format souhaité. Cependant, il est important de connaître le fuseau horaire prédéfini associé à votre système.
Package java.time
Le package java.time introduit dans Java SE 8 offre une approche plus complète de la gestion de la date et de l'heure :
<code class="java">var instance = java.time.Instant.ofEpochMilli(millis); var localDateTime = java.time.LocalDateTime.ofInstant(instance, java.time.ZoneId.of("Asia/Kolkata"));</code>
Vous pouvez spécifier un fuseau horaire spécifique à l'aide de java.time.ZoneId.of("TimeZoneID"). Pour formater la date, utilisez :
<code class="java">var formatter = java.time.format.DateTimeFormatter.ofPattern("u-M-d hh:mm:ss a O"); var string = zonedDateTime.format(formatter);</code>
GregorianCalendar et JodaTime
Vous pouvez également exploiter les bibliothèques GregorianCalendar et JodaTime :
<code class="java">GregorianCalendar calendar = new GregorianCalendar(TimeZone.getTimeZone("US/Central")); calendar.setTimeInMillis(millis); DateTime jodaTime = new DateTime(millis, DateTimeZone.forTimeZone(TimeZone.getTimeZone("US/Central")));</code>
Gestion des différences de fuseau horaire
Pour garantir une conversion précise vers le fuseau horaire correct, spécifiez explicitement le fuseau horaire souhaité lorsque vous utilisez GregorianCalendar ou JodaTime. En référençant le fuseau horaire à partir du fichier journal lui-même, vous pouvez maintenir l'intégrité des données.
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!