Grüße alle ich habe eine j2ee App mit Spring Framework und beim Debuggen auf dem Online-Server (CentOS-Betriebssystem) Wenn ich versuche, das Datum in der App zu bekommen, indem ich den Wert des new Date();
-Objekts ausgebe ruft es die Zeit in GMT-6 ab, obwohl, wenn ich die Serverzeit über das Terminal abrufe Befehl Datum wird es in GMT-Zeit abgerufen, die echte Zeit, also frage ich mich, woher kommt das GMT-6, warum tritt ein so seltsames Verhalten auf?
Antworten
Zu viele Anzeigen?Dies klingt für mich wie ein Lokalitätsproblem. Genauer gesagt ist es kein Problem, es ist einfach die Art und Weise, wie Java mit unterschiedlichen Zeitzone-/Lokalitätseinstellungen umgeht.
Unter Verwendung des Codes aus diesem Artikel:
Properties p = System.getProperties();
Enumeration keys = p.keys();
while (keys.hasMoreElements()) {
String key = (String)keys.nextElement();
String value = (String)p.get(key);
System.out.println(key + ": " + value);
}
kannst du sehen, wie Java deine Umgebung interpretiert.
Wenn du die Zeitzone-/Lokalitätseinstellungen von CentOS änderst, sollte Java diese Änderung erkennen und die Zeit entsprechend anzeigen.
Das klingt jedoch nach einem übertriebenen Aufwand und die Anpassung des Datumsformats basierend auf der Lokalität ist möglicherweise das, was du brauchst.
Verschiedene Anwendungen können dasselbe Datum unterschiedlich ausgeben.