Heim >Java >javaLernprogramm >Wie konvertiere ich currentTimeMillis in ein Datum mit länderspezifischer Formatierung?
Problem:
Beim Konvertieren von Millisekunden in ein Datum Beim Formatieren mit SimpleDateFormat verwendet das Programm das Datum der Maschine, das möglicherweise nicht die korrekte Zeit in einer anderen Zeitzone darstellt.
Lösung:
Um dieses Problem zu beheben Elegant können Sie die folgenden Ansätze verwenden:
<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>
Verwendung von Instant und 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>
Verwendung von 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>
<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>
Mit diesen Ansätzen können Sie Millisekunden in ein Datumsformat in einem Gebietsschema konvertieren. bestimmte Art und Weise, um sicherzustellen, dass die richtige Zeit dargestellt wird.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich currentTimeMillis in ein Datum mit länderspezifischer Formatierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!