Alexander (HH): Zeitzone wählen für Benutzer

Beitrag lesen

Ein wenig mehr Details:

Der Server rechnet immer in UTC, genau wie Javascript. Entsprechend nutzt man Date.setTime() und z.B. Date.toLocaleString() zur Anzeige. Für den Rückweg greift man auf die lokale Zeit im Date-Objekt zu (Date-Methoden ohne UTC im Namen) und übermittelt den Wert von Date.getTime().

Um Zeitzonen kümmert sich der Browser in Kooperation mit dem Betriebssystem unter dem Browser, der Server muß sich damit überhaupt nicht herumschlagen. Um die korrekte Zeitzone hat sich der Benutzer bzw. im Firmenumfeld die EDV-Abteilung bei der Installation des Betriebssystems gekümmert, damit muß man den Benutzer also gar nicht mehr belästigen.

Benutzer mit Rechnern, die sich in verschiedenen Zeitzonen bewegen, haben entweder gelernt, wie sie die Zeitzone im Betriebssystem umstellen oder aber sie bevorzugen, mit einer festen Zeitzone unabhängig vom aktuellen Aufenthaltsort zu arbeiten. In beiden Fällen liefert dieser Ansatz genau den Effekt, den der Benutzer haben will: Die Anwendung zeigt alle Zeiten in der Zeitzone an und fragt sie in der Zeitzone ab, die im Rechner eingestellt ist.

Prinzipiell können Browser und Betriebssystem sogar ein völlig anderes Kalendersystem benutzen; so lange der Browser bzw. das Betriebssystem die Umrechnung korrekt vornehmen, stimmen alle Zeitangaben.

Nur gelegentlich verwirrt es die Benutzer, wenn ein und der selbe Zeitpunkt in zwei Rechnern zu unterschiedlichen Anzeigen führt. Wenn man einen Termin auf 13:00 MEZ ansetzt, sieht jemand in Australien den selben Termin als mitten in der Nacht. Es ist aber in beiden Fällen schlicht 12:00 UTC.

In einem geografisch so weit verteilten System kann es hilfreich sein, zusätzlich zur lokalen Zeit noch die Zeit in UTC auszugeben, und Eingaben wahlweise in lokaler Zeit oder UTC zu erlauben.

Ein weiteres Problem ist eine nur tagesgenaue Zeitangabe. Hier empfiehlt es sich, als Zeitpunkt 12:00 mittags (UTC) einzugeben, je nach geografischer Verteilung vielleicht auch zwei bis drei Stunden früher oder später. Stellt nimmt man nämlich Mitternacht UTC für eine Datumsangabe ein, zeigen Systeme westlich von Greenwich einen anderen Tag an als Systeme östlich von Greenwich.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".