ich diese Zeilen Java-Code haben, die ein Date
konvertiert Objekt zu 10-stellige Integer
JAVA-Programm Ausgangsdifferenz zwischen Travis CI und laufen lokal auf einem Windows-Laptop
SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyyddMM");
Integer dateIntFormat = DATE_FORMAT.parse("20100405").getTime()/1000;
Wenn ich laufe den obigen Code auf meinem Laptop vor Ort ich bekomme
dateIntFormat = 1272927600;
Aber wenn der gleiche Code auf Travis läuft ich
dateIntFormat = 1272931200;
Kann mir jemand erklären, warum und wie ich es auf meinem lokalen Rechner reparieren kann?
Sieht aus wie Sie verschiedene Zeitzoneneinstellungen auf Ihrem Laptop haben und auf die CI-Server. Die Nummer, die du erhältst, enthält die Zeit, die in verschiedenen Zeitzonen unterschiedlich ist. Der beste Weg, um dies zu lösen, hängt davon ab, warum genau Sie diese ganze Zahl benötigen. – yole
'yyyyddMM' ist ein nutzloses, nicht standardmäßiges, nicht sortierbares Datumsformat. Bist du sicher, *** das ist richtig? –
@Yole Ich arbeite daran, JSON-Daten von einer REST-API zu bekommen. Die REST-API, die ich verwende, konvertiert das Datum in eine 10-stellige Ganzzahl und verwendet diese, um Daten von einem bestimmten Tag zu erhalten. Ich denke, die Zeitzonen könnten das Problem sein. –