22 Stimmen

Erstellung einer benutzerfreundlichen Liste von Zeitzonen für Benutzerpräferenzen

Nachfolgend sehen Sie einen Ausschnitt aus der von Java zurückgegebenen Liste der Zeitzonen (ich habe den Zeitzonen-Offset, die Zeitzonen-ID und den langen Namen mit JodaTime ausgedruckt).

(GMT-10:00) HST, Hawaii Standard Time     
(GMT-10:00) Pacific/Apia, -10:00
(GMT-10:00) Pacific/Fakaofo, Tokelau Time
(GMT-10:00) Pacific/Honolulu, Hawaii Standard Time
(GMT-10:00) Pacific/Johnston, Hawaii Standard Time

Was ist der Unterschied zwischen HST , Pazifik/Honolulu y Pazifik/Johnston zum Beispiel? Sie scheinen alle zu verwenden Hawaii Standardzeit Warum gibt es 3 Einträge in der Datenbank?

  • Mein ultimatives Ziel ist es, eine Liste von Zeitzonen für Benutzereinstellungen in einer Webanwendung zu erstellen.

Wenn ich alle Zeitzonen aus der tzDatabase verwende, ist die Liste lang und scheint effektive Duplikate zu enthalten (Beispiel oben). Ich könnte nur eindeutige Langformnamen wie "Hawaii Standard Time" auflisten, aber dann muss ich entscheiden, wie ich sie einer der Zeitzonen zuordne, die denselben Langnamen verwenden.

Was tun andere Menschen in diesem Fall? Wie erstellt man eine schöne, benutzerfreundliche Liste von Zeitzonen und ordnet sie der entsprechenden Java TimeZone zu?

0 Stimmen

Bitte überprüfen Sie die Lokalitäten... sie können sich unterscheiden

0 Stimmen

Toller Kommentar, gute Idee, aber ich glaube, es gibt nur ein Gebietsschema für die USA, oder? Und wie 6 Zeitzonen insgesamt (Hawii, Alaska, Pazifik, Berg, Zentral, Ost).

0 Stimmen

Hmmm, ich bin mir nicht sicher, woran das liegt... schau mal nach de.wikipedia.org/wiki/Listen_der_Zeiten_Zonen es könnte etwas passieren...

14voto

Jesse Webb Punkte 39655

Ich glaube, Sie gehen davon aus, dass "benutzerfreundlich" bedeutet, ihnen eine kleine Liste zu zeigen. Tatsache ist jedoch, dass alle diese Zeitzonen von irgendjemandem, irgendwo, verwendet werden. Für Sie sehen sie vielleicht gleich aus, aber sie verhalten sich oft etwas anders. Ich lebe in Saskatchewan und wir haben unsere eigene Version von CST. Der lange Name lautet nur "Central Standard Time", aber wir verwenden keine Sommerzeit, so dass wir die Hälfte des Jahres nicht mit der echten CST übereinstimmen. Es gibt sogar ein kleines Gebiet in Saskatchewan, das einen Zeitunterschied von 15 Minuten aufweist. Auch wenn sie gleich erscheinen, sind sie doch unterschiedlich, und ich denke, Sie sollten den Benutzern die Möglichkeit geben, aus der gesamten Liste zu wählen.

Versuchen intelligent die Liste zu verkürzen, könnte man damit vergleichen, dass man nicht alle möglichen Währungscodes auflistet, wenn man einem Benutzer die Möglichkeit gibt, eine bevorzugte Währung auszuwählen. Ja, es gibt vielleicht nur eine Handvoll Leute, die bestimmte Währungen verwenden. Sicher, es mag einige geben, die derzeit die gleichen Umrechnungskurse haben. Letzten Endes sollte man den Benutzer entscheiden lassen, worauf er Wert legt.

Eine Lösung für die Anzeige großer Listen oder potenzieller Unwichtiges Daten mit nur wenigen wirklich interessanten Elementen: Bestimmen Sie zunächst die am häufigsten verwendeten Daten und setzen Sie diese dann an den Anfang der Liste. Dies ist z. B. auf verschiedenen Websites für die Länderauswahl zu sehen:

Canada
United States
------------------
Argentina
Australia
...

Diese Strategie wird auch häufig für mein vorheriges Währungsbeispiel verwendet. Für Zeitzonen könnte es etwa so aussehen (wenn Ihr Hauptnutzerstamm in Nordamerika liegt):

EST
CST
MST
PST
------------------
Hawaii
Saskatchewan
...

Denken Sie aber daran, dass Sie dazu manuell festlegen müssen, was die commun Zeitzonen sind.

Meiner Meinung nach ist es am besten, einfach aufzulisten alle Zeitzonen, sortiert nach Offset, weil もっとも Die Menschen werden wissen, wo sie ihre Zone anhand des Versatzes finden können. Ich suche zum Beispiel immer zuerst nach "-6:00", nicht nach Saskatchewan. Hoffentlich hilft das!

1 Stimmen

Wenn Sie sich dafür entscheiden, viele Artikel in einer <select> Element, empfehle ich die Verwendung des Gewähltes JS-Framework was die Benutzerfreundlichkeit von großen Dropdowns verbessert.

1 Stimmen

CST (Central Standard Time) ist immer die gleiche Zeit, unabhängig von der Sommerzeit. Ich glaube, Sie wollten sagen, dass die Central Time zwar normalerweise zwischen Central Daylight Time und Central Standard Time wechselt, Sie aber das ganze Jahr über in der Central Standard Time bleiben. CDT und CST sind zwei verschiedene Zeitzonen, und mancherorts wechseln die Zeitzonen je nach Jahreszeit.

0 Stimmen

Für mich wäre eine "benutzerfreundliche Liste der Zeitzonen" eine Liste, die Pazifik/Galapagos als "Galapagos-Inseln" oder Amerika/Guayaquil als "Ecuador (Kontinentalterritorium)" ausdrückt... Ich fürchte, ich schließe mich dem Vorschlag von @JesseWebb an. Seufz...

6voto

JodaStephen Punkte 57302

Le site CLDR data enthält eine Liste "wichtiger" Zeitzonen und kann wahrscheinlich zur Auswahl der anzuzeigenden Zonen verwendet werden. (Ich erinnere mich an etwas anderes, aber diese ist das Beste, was ich derzeit finden kann)

Es gibt mehrere Zeitzonenkennungen für denselben Ort, wenn die Daten in der Vergangenheit anders waren oder wenn der Ort umbenannt wurde (die Alias-Funktion in den Zeitzonendaten). Das Entfernen der Rückwärtsdatei bei der Kompilierung der Zeitzonendaten würde die meisten Aliasnamen beseitigen.

6 Stimmen

Ich kann diese CLDR-Liste der wichtigen Zeitzonen nicht finden. Kann jemand einen direkten Link angeben?

1voto

Brad Punkte 14994

Ob die Zeitzone die Sommerzeit nutzt oder nicht, ist wahrscheinlich der häufigste Unterschied.

0 Stimmen

Wahrscheinlich nicht nur si es verwendet, sondern wenn findet der Sommer/Winter-Wechsel statt. (Ich habe keine Ahnung, ob es für Hawaii / HST gilt)

1 Stimmen

Diese scheinen alle die hawaiianische Standardzeit zu verwenden, aber ich denke, dass es in der Vergangenheit unterschiedliche Sommerzeitumstellungen gegeben haben könnte, was die tzDatabase verfolgt. Aber ich frage mich immer noch, welche Strategie die Leute anwenden, um eine gute Liste von Zeitzonen für ein einfaches Formular mit Benutzereinstellungen zu erstellen, die einer vernünftigen Menge von Java-Zeitzonen für die Verwendung bei der Konvertierung entsprechen.

1 Stimmen

@Grzegorz, einige Zeitzonen tatsächlich nicht auf Sommerzeit umstellen

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