Ich muss ein Datum formatieren und es Benutzern basierend auf Benutzer Standort anzeigen.Format Datum Zeit in gwt mit Zeitzone
Ich versuche, die Zeit zu formatieren, mit dem folgenden Code
DateTimeFormat.getFormat("h:mm a z").format(new Date(timeInMillis))
Dies ist das Ergebnis bin ich „05.18 UTC-4“ für new york Benutzer und „2.18 bekommen UTC- 7 "für Seattle Benutzer. Wie erzeuge ich String wie "5:18 PM EST" für New York Benutzer und "2:18 PM PDT" für Seattle Benutzer?
Hinweis: Das Problem bei der Verwendung von Format (neues Datum (Zeit), Zeitzone) ist, dass ein Zeitzone-Objekt basierend auf Benutzergebietsschema erstellen? Timezone.createTimeZone (int) gibt eine SimpleTimeZone-Implementierung, die "UTC-4" erzeugt, um "PDT" zu erzeugen, muss die Zeitzone mit Timezone.createTimeZone (timezoneJson: string) erstellt werden, aber das Problem ist, dass wir müssen Wählen Sie die Zeitzone zum Zeitpunkt der Kompilierung, um den JSON-String für die Eingabezeitzone zu erstellen.
Vielen Dank im Voraus
Bedenken Sie, dass GWT alle aktuellen Zeitzonendaten enthält - Sie können 'GWT.create' eine Instanz von' com.google.gwt.i18n.client.constants.TimeZoneConstants' und Holen Sie sie alle mit Namen, oder wählen Sie einfach die spezifischen, die Sie wollen. Warnung - einschließlich aller möglichen Zeitzonen wird Ihre App dramatisch aufblähen, weshalb Java's eigene TimeZone nicht im Kern-GWT emuliert wird. –
aber die Frage ist, wie erstellen Sie TimeZone-Objekt für Benutzer in verschiedenen Zeitzonen? – Mahes
Fragen Sie sie nach der gewünschten Zeitzone und erstellen Sie Zeitzonenobjekte entsprechend. Normalerweise geschieht dies in den Einstellungen oder Einstellungen für Ihre App. Sie können auch eine Standardzeitzone festlegen, in der sich die meisten Benutzer befinden, damit diese Benutzer ihre Einstellungen nicht ändern müssen. Schließlich können Sie einfach die Zeit in Ihrer Standardzeitzone anzeigen, sicherstellen, dass Sie angeben, um welche Zeitzone es sich handelt, und die Benutzer selbst herausfinden lassen. Dies ist, was viele Websites tun, wie ESPN. Sie sagen, das Spiel beginnt um 20 Uhr ET und die Benutzer wissen, wie viel Zeit das für ihre eigene Zeitzone bedeutet. –