6 Stimmen

Wie bekomme ich GWT DateTimeFormat zur Anzeige mit dem Server TimeZone, anstatt der Client's?

Ich versuche, ein (java.util.) Datum clientseitig anzuzeigen, und es hält mit der Zeitzone des Browsers, was zu einem unterschiedlichen Datum sichtbar, je nachdem, wo Sie die Seite anzeigen.

Wie bringe ich den Formatter (DateTimeFormat) dazu, das Datum anhand der Zeitzone des Servers und nicht anhand des Benutzers anzuzeigen?

Gracias

3voto

Igor Klimer Punkte 15301

Die "einfachste" Lösung (bei der keine Kommunikation mit dem Server erforderlich ist) besteht darin, einfach die DateTimeFormat um eine bestimmte Zeitzone zu verwenden (die, in der sich Ihr Server befindet), etwa so:

String pseudoServerTime = DateTimeFormat.getFullTimeFormat().format(new Date(), TimeZone.createTimeZone(TimeZoneConstants.europeWarsaw());

Sie können den String/das Objekt für die Zeitzone irgendwo als public static final so dass es leicht geändert werden kann, wenn Sie Server bewegen/ändern (und der GWT-Compiler wird dies inline, so dass keine Leistungseinbußen).

1voto

Carnell Punkte 749

Kann das Datum auf dem Client geändert werden? Wenn nicht, formatieren Sie es auf dem Server und senden Sie einfach einen String-Wert. Ein letzter Punkt. Es scheint einige Probleme mit Dates auf der Client-Seite in GWT zu geben. Siehe http://blog.gerardin.info/archives/674

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X