Ich habe einen Zeitwert in meiner Datenbank in HH:mm:ss
Format (mit MySQL time
Typ) gespeichert. Diese Zeit ist als Wert der IST-Zeitzone zu betrachten. Der Server, auf dem mein Java-Code ausgeführt wird, folgt der UTC-Zeitzone.Konvertieren Sie die Datenbankzeit in IST Datetime
Wie kann ich eine formatierte Datetime in yyyy-MM-dd HH:mm:ss
in IST (oder in UTC Millis) bekommen? Im Anschluss an dem, was ich bisher ausprobiert habe:
// ... Code truncated for brevity
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalTime time = resultSet.getTime("send_time").toLocalTime();
LocalDateTime datetime = time.atDate(LocalDate.now());
System.out.println(datetime.format(formatter));
Die korrekt über die Datetime auf meinem lokalen Rechner druckt, die auf SIND ist, aber ich bin besorgt darüber, wie es auf dem Remote-Server verhält.
Es gibt tatsächlich Antworten, aber es ist ein schlechter Link dafür, @deHaar. Der Fragesteller verwendet die moderne API für Datum und Uhrzeit korrekt und Sie verknüpfen eine Frage mit den veralteten Klassen. Benutze diese nicht. –
Das ist richtig @ OleV.V., Verknüpfung gelöscht ... – deHaar
Wenn Sie können, bevorzugen Sie "LocalTime Zeit = resultSet.getObject (" send_time ", LocalTime.class);'. Es benötigt einen neueren JDBC-Treiber (JDBC Version 4.2), aber ich glaube, dass MySQL so früh einen solchen Connector/J-out hatte, also haben Sie vielleicht Glück mit dem, was Sie haben. –