Konvertieren der Epochenzeit in MySQL-Zeitstempel in Java
Bei der Arbeit mit Zeitwerten in Java und MySQL wird die Epochenzeit konvertiert, die die Anzahl von darstellt Sekunden seit der Unix-Epoche, in ein MySQL-Zeitstempelformat kann erforderlich sein.
Um diese Konvertierung zu erreichen, ist ein beliebter Ansatz die Verwendung die Java 8 java.time API. Diese API bietet eine Reihe moderner Klassen und Schnittstellen für die Verarbeitung von Datums- und Uhrzeitangaben, einschließlich Konvertierungen zwischen verschiedenen Formaten.
Epochenzeit in MySQL-Zeitstempel konvertieren
Das folgende Snippet zeigt dies So konvertieren Sie die Epochenzeit mithilfe der java.time-API in einen MySQL-Zeitstempel:
import java.time.LocalDateTime; // Convert epoch time in milliseconds to seconds long epochSeconds = System.currentTimeMillis() / 1000; // Create a LocalDateTime object from the epoch seconds LocalDateTime timestamp = LocalDateTime.ofEpochSecond(epochSeconds, 0, java.time.ZoneOffset.UTC); // Format the LocalDateTime object as a MySQL timestamp string String mySQLTimestamp = timestamp.toString();
Das Ergebnis Die mySQLTimestamp-Zeichenfolge hat das Format JJJJ-MM-TT HH:MM:SS, das mit dem MySQL-Zeitstempel-Datentyp kompatibel ist.
Alternativer Ansatz: SimpleDateFormat
While Die java.time-API wird im Allgemeinen für die Verarbeitung von Datums- und Uhrzeitangaben empfohlen, ein weiterer Ansatz zum Konvertieren von Epochenzeiten mithilfe des alten SimpleDateFormat Klasse:
import java.text.SimpleDateFormat; import java.util.Date; // Convert epoch time in milliseconds to a Date object Date date = new Date(epochSeconds * 1000); // Create a SimpleDateFormat to format the Date as a MySQL timestamp string SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-DD HH:MM:SS"); // Format the Date object as a MySQL timestamp string String mySQLTimestamp = sdf.format(date);
Dieser Ansatz wird im Vergleich zur java.time-API aufgrund potenzieller Thread-Sicherheitsprobleme und Inkonsistenzen zwischen verschiedenen Versionen des JDK weniger bevorzugt.
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!