Heim >Java >javaLernprogramm >Wie konvertiere ich die Epochenzeit in einen MySQL-Zeitstempel in Java?

Wie konvertiere ich die Epochenzeit in einen MySQL-Zeitstempel in Java?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-11 13:44:16238Durchsuche

How to Convert Epoch Time to MySQL Timestamp in Java?

Epoche in MySQL-Zeitstempel in Java übersetzen

Java-Programmierer stehen häufig vor der Notwendigkeit, die Epochenzeit umzuwandeln, die die Anzahl der Sekunden seit dem Unix darstellt epoch, in das MySQL-Zeitstempelformat. Hier erfahren Sie, wie Sie diese Konvertierung mithilfe der modernen Datums-/Uhrzeit-API von Java, java.time, erreichen.

java.time

Java.time wurde mit Java SE 8 eingeführt und bietet eine umfassende und fehlerresistente Datum-Uhrzeit-API. Es ordnet ANSI-SQL-Typen java.time-Typen zu, wie unten gezeigt:

ANSI SQL Java SE 8
DATE LocalDate
TIME LocalTime
TIMESTAMP LocalDateTime
TIME WITH TIMEZONE OffsetTime
TIMESTAMP WITH TIMEZONE OffsetDateTime

Konvertieren von Epoch in MySQL-Zeitstempel

Mit java.time kann man problemlos konvertieren Epochenzeit zu einem MySQL-Zeitstempel:

// Get current epoch time in milliseconds
long epochNow = System.currentTimeMillis();

// Create a LocalDateTime object from the epoch time
LocalDateTime timestampNow = Instant.ofEpochMilli(epochNow).atZone(ZoneId.systemDefault()).toLocalDateTime();

// Convert to MySQL timestamp format using DateTimeFormatter
String mySQLtimestamp = timestampNow.format(DateTimeFormatter.ofPattern("yyyy-MM-dd:HH:mm:ss"));

Beispiel Verwendung

In Ihrem bereitgestellten Code-Snippet haben Sie epochNow für die aktuelle Uhrzeit und date7daysAgo für einen Zeitstempel von 7 Tagen in der Vergangenheit. Mit dem obigen Code können Sie beide Zeitstempel ganz einfach in das MySQL-Format konvertieren und in mySQLtimestamp speichern.

String mySQLtimestampNow = LocalDateTime.ofInstant(Instant.ofEpochMilli(epochNow), ZoneId.systemDefault())
        .format(DateTimeFormatter.ofPattern("yyyy-MM-dd:HH:mm:ss"));

String mySQLtimestamp7DaysAgo = LocalDateTime.ofInstant(Instant.ofEpochMilli(date7daysAgo), ZoneId.systemDefault())
        .format(DateTimeFormatter.ofPattern("yyyy-MM-dd:HH:mm:ss"));

Das obige ist der detaillierte Inhalt vonWie konvertiere ich die Epochenzeit in einen MySQL-Zeitstempel in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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