Maison >Java >javaDidacticiel >Comment convertir currentTimeMillis en une date avec un formatage spécifique aux paramètres régionaux ?

Comment convertir currentTimeMillis en une date avec un formatage spécifique aux paramètres régionaux ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-01 07:14:30793parcourir

How to Convert currentTimeMillis to a Date with Locale-Specific Formatting?

Comment convertir currentTimeMillis en une date avec un formatage spécifique aux paramètres régionaux

Problème :

Lors de la conversion de millisecondes en date format utilisant SimpleDateFormat, le programme utilise la date de la machine, qui peut ne pas représenter l'heure correcte dans un fuseau horaire différent.

Solution :

Pour gérer ce problème avec élégance, vous pouvez utiliser les approches suivantes :

  • Java.util.Date :
<code class="java">Date date = new Date(millis);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS", Locale.US);
String formattedDate = sdf.format(date);</code>
  • Java Time API (Java 8) :

Utilisation d'Instant et ZonedDateTime :

<code class="java">Instant instant = Instant.ofEpochMilli(millis);
ZonedDateTime zonedDateTime = ZonedDateTime.ofInstant(instant, ZoneId.of("US/Central"));

// Format the date
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss,SSS");
String formattedDate = zonedDateTime.format(formatter);</code>

Utilisation de LocalDateTime :

<code class="java">LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.of("US/Central"));

// Format the date
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss,SSS");
String formattedDate = localDateTime.format(formatter);</code>
  • Joda-Time (hérité)
<code class="java">DateTime jodaTime = new DateTime(millis, DateTimeZone.forTimeZone(TimeZone.getTimeZone("US/Central")));

// Format the date
DateTimeFormatter parser1 = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss,SSS");
String formattedDate = parser1.print(jodaTime);</code>

En utilisant ces approches, vous pouvez convertir des millisecondes en un format de date dans une langue locale- manière spécifique, en veillant à ce que l'heure correcte soit représentée.

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!

Déclaration:
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