2016-10-10 19 views
2

Ich bin ein ISO8601 Zeit vom Client empfangen, es in UTC konvertieren und sie als einen Zeitstempel auf AWS EC2-Server mit einem DateTimeZone Speichern alsJava Zeitzone & AWS EC2

DateTime groupExpectedDate = sentGroup_expected_date_time.withZone(cityTimezone); 

    Timestamp groupExpectedDateTimestamp = new Timestamp(groupExpectedDate.getMillis()); 

folgt, wenn ich das laufen Code auf meinem lokalen Server werden die Zeiten für diese bestimmte Stadt korrekt zugewiesen. Wenn ich jedoch zum AWS EC2-Server drücke, sind die Zeiten falsch. Gibt es eine Konfiguration für AWS EC2, die ich ausführen sollte?

+0

Ich würde etwas Protokollierung hinzufügen, um zu sehen, an welchem ​​Punkt es sich von Ihrem lokalen Computer unterscheidet. Ich nehme an, dass es die Systemzeitzone zu einem bestimmten Zeitpunkt verwendet, und die Zeitzoneneinstellung auf dem AWS-Server unterscheidet sich von Ihrem lokalen Server. Es gibt nichts "EC2-spezifisch", das dies tun würde. Der EC2-Server ist nur ein Linux-Server. –

+0

Welche Art von Objekt ist 'sendGroup_expected_date_time'? – gvasquez

Antwort

0

Sie sollten Timezone konsequent in Ihrer Umgebung Server festlegen, entweder die Locale in Java-Code zu zwingen, oder die Zeitzone in der zugrunde liegenden Betriebssystem-Einstellung (die nicht in Ihrer Frage angegeben)

Welche Timestamp Klasse verwenden Sie? Die von java.sql.Timestamp oder eine andere?