it-swarm.com.de

Lokalisieren von Fälligkeitsterminen in einer Aufgabenliste

Ich arbeite derzeit an einer Kalenderanwendung, die sich mit einer Liste von Aufgaben befassen muss, die der Benutzer erstellen kann.

In allen von mir verwendeten Kalenderanwendungen (Outlook, Thunderbird, Google Kalender) gibt es keine Möglichkeit, eine Zeit für Aufgaben festzulegen. Man kann nur ein Fälligkeitsdatum für die Aufgabe festlegen.

Die Aufgabenliste könnte beispielsweise folgendermaßen aussehen:

  • 24/12/2011 - Machen Sie Weihnachtsgeschenke fertig.
  • 01.05.2012 - Wichtige Aufgabe beenden

Nehmen wir an, der Benutzer befindet sich derzeit in der Zeitzone Australia\Sydney. Wenn der Benutzer in eine andere Zeitzone wechselt, z. B. America\New_York, Ist es hilfreich zu versuchen, diese Daten in die lokalen Daten unter America\New_York Zu lokalisieren?

Das Problem dabei ist, dass 00:00 AM 12/24/2011 to 23:59 PM 12/24/2011 In Sydney 08:00 23/12/2011 to 07:59 24/12/2011 In New York entspricht.

Anstatt dass eine Aufgabe an einem Tag fällig ist, erstreckt sich diese nun über zwei Tage. Dies ist für Benutzer offensichtlich sehr verwirrend. Ich möchte jedoch nicht, dass Benutzer Fristen für Aufgaben verpassen, da sie sich in einer anderen Zeitzone befinden, das Fälligkeitsdatum jedoch in einer anderen Zeitzone festgelegt wurde.

Was ist der beste Weg, um mit so etwas umzugehen?

3
F21

Sie sollten es dem "System" überlassen, die Zeitzonen (und die Sommerzeit) zu verfolgen. Ihre App sollte nur überprüfen

if (System.TodayDate = Task.DueDate) then Task.Highlight('Due today!').


Ich denke nicht, dass dies ein Problem für den Benutzer sein wird, da der Tag, an dem er "mit der Sonne" reist, der Tag wird tatsächlich mehrere Stunden länger sein wird. Wenn er/sie am SFO-Flughafen ankommt, hat er noch einige Stunden vor Ablauf der Frist Zeit.

Ich würde dringend empfehlen, dass er die Aufgaben erledigt vorher er kommt als SFO an. In San Francisco gibt es bessere Dinge zu tun, als einige Aufgaben auf einer Aufgabenliste zu erledigen ;-D

1

Ein paar Gedanken:

Sie sollten Ihre Daten in UTC auf dem Server speichern, egal was passiert. Auf diese Weise erhalten Sie die Zeitzonenverschiebung kostenlos mit Javascript, um die Konvertierung auf dem System des Benutzers durchzuführen.

Die zweite Sache ist, dass es davon abhängt, wie Sie das Fälligkeitsdatum berechnen. Verwenden Sie eine Dauer oder ein festes Datum? Angenommen, Sie befinden sich in Australien und Ihr Benutzer befindet sich in New York. Wenn Sie ihnen eine Aufgabe zuweisen, die zwei Tage dauern sollte, ist dieser Tag relativ. Muss diese Aufgabe zu einem bestimmten Zeitpunkt abgeschlossen sein oder sagen Sie, dass Sie 16 Stunden Zeit haben, um daran zu arbeiten?

schließlich klingt es so, als wären Aufgaben, die Sie haben, zeitunabhängig. Dies bedeutet, dass Ihr Fälligkeitsdatum ein Tag ist und keine Zeitkomponente hat. In diesem Fall möchten Sie keine Zeitzonenkonvertierung durchführen.

1
Chris

Sie würden Aufgaben als Ereignisse anzeigen. In der 5-Tage-Ansicht sollten Benutzer sehen, zu welcher Zeit Aufgaben gestartet und beendet werden.

0
jrosell

Zeit zum Umschalten auf UTC ?

Früher oder später werden wir ohne Standard noch viel mehr solchen Problemen gegenüberstehen.

0
Kris