Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]



Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Probleme mit Zeitzonen bzw Sommer-/Winterzeit
BeitragVerfasst: Sa 20. Mär 2010, 19:37 
Offline

Registriert: Di 15. Sep 2009, 18:31
Beiträge: 50
Ich habe ein Problem mit der Zeitumstellung. Da das Problem aber vielleicht nicht nur Linux betrifft, stelle ich es hier zur Diskussion:
Trage ich mit/in Lightning einen Termin in den Kalender (lokale ics-Datei) ein, enthält dieser eine Info zur Zeitzone:

Code:
BEGIN:VEVENT

DTSTART;TZID=Europe/Berlin:20100402T113000Z
DTEND;TZID=Europe/Berlin:20100402T123000Z
END:VEVENT

Soweit, so schön. Leider sieht derselbe Termin nach dem Synchronisieren mit dem PDA (mit OpenSync) jedoch so aus:
Code:
BEGIN:VEVENT

DTSTART:20100402T1030000Z
DTEND:20100402T11300000Z
END:VEVENT

Wie man sieht, fällt die Angabe der Zeitzone fällt beim Synchronisieren irgendwie weg. Lightning interpretiert anschließend das Fehlen der Angabe als UTC, und der Termin wird trotzdem korrekt angezeigt.

Das geht aber nur solange gut, wie es sich um einzelne Termine handelt!

Wiederholende Termine, die über den (die) Tag(e) der Zeitumstellung hinweg gehen, verrutschen dagegen um eine Stunde, sie werden von Lightning falsch angezeigt.

Jetzt kommt aber ein großes AAABER:

korganizor hat damit kein Problem. Ich kann dieselbe ics-Datei, die Lightning benutzt, an korganizor verfüttern, und dann werden auch die Termine, die Lightning falsch anzeigt, von korganizor richtig angezeigt. Anscheinend errechnet korganizor die Startzeit eines sich wiederholenden Termins anders als Lightning.

Könnte man da als Entwickler nicht ansetzen und sich die Berechnung der Anfangszeiten von korganizor "abgucken"? Oder gibt’s eine andere Lösung zu diesem Problem? Ich habe bereits versucht, in Lightning UTC als Zeitzone einzutragen, aber das geht gar nicht.

Falls jemand eine Lösung für dieses Problem kennt, wäre ich sehr, sehr, sehr, sehr dankbar für entsprechende Hinweise. Zur Zeit gibt es für mich nämlich nur eine Möglichkeit, meine Terminkalender auf dem PDA und dem Desktop korrekt synchron zu halten, und das ist manuell, mit doppelter Buchführung. Das ist alles andere als befriedigend.


Nach oben
  Profil
 
 Betreff des Beitrags: Re: Probleme mit Zeitzonen bzw Sommer-/Winterzeit
BeitragVerfasst: So 21. Mär 2010, 12:17 
Offline
Benutzeravatar

Registriert: So 6. Nov 2005, 22:57
Beiträge: 1283
Code:
BEGIN:VEVENT

DTSTART;TZID=Europe/Berlin:20100402T113000Z
DTEND;TZID=Europe/Berlin:20100402T123000Z
END:VEVENT

Ein Termin kann entweder UTC sein ("Z" am Ende) oder in einer definierten Zeitzone ("TZID=Europe/Berlin"), nicht aber beides gleichzeitig wie in diesem Fall. Das Verhalten daher undefiniert. Versuch es doch mal indem du manuell des "Z" am Ende vor dem synchronisieren entfernst.

Bei wiederholenden Terminen mit einer fixierten Zeit in UTC ist es wie folgt: UTC kennt keine Sommer- oder Winterzeit, deine lokale Zeitzone aber schon. Europe/Berlin wechselt z.B. zwischen UTC+1 und UTC+2. Ein Termin "20100402T1030000Z" findet also in der Winterzeit um 11:30, in der Sommerzeit um 12:30 statt.


Nach oben
  Profil
 
 Betreff des Beitrags: Re: Probleme mit Zeitzonen bzw Sommer-/Winterzeit
BeitragVerfasst: So 21. Mär 2010, 15:36 
Offline

Registriert: Di 15. Sep 2009, 18:31
Beiträge: 50
Dies ist das Ergebnis, wenn ich einen entfernten Kalender von Lightning in eine lokale Datei exportieren lasse:

Code:
BEGIN:VCALENDAR
PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
VERSION:2.0
BEGIN:VEVENT
CREATED:20071223T222622Z
LAST-MODIFIED:20071224T004559Z
DTSTAMP:20071223T222622Z
UID:1eec81b4-3b9d-4ee4-8193-73d2a948c864
SUMMARY:Neumond
DTSTART:20080108T113700Z
DTEND:20080108T113700Z
URL:http://sunbird-kalender.de/
END:VEVENT
BEGIN:VEVENT
CREATED:20071223T222622Z
LAST-MODIFIED:20071224T004559Z
DTSTAMP:20071223T222622Z
UID:1b9adfcf-b087-4626-8cb0-deb6d0314a87
SUMMARY:Neumond
DTSTART:20080207T034400Z
DTEND:20080207T034400Z
URL:http://sunbird-kalender.de/
END:VEVENT


Und so sieht es aus, wenn ich denselben Kalender von korganizor exportieren lasse:

Code:
BEGIN:VCALENDAR
PRODID:-//K Desktop Environment//NONSGML KOrganizer 4.4.1//EN
VERSION:2.0
BEGIN:VEVENT
DTSTAMP:20100321T133042Z
CREATED:20071223T222622Z
UID:77ab12a5-ccf6-4dc6-af8a-8432994e5415
LAST-MODIFIED:20071224T004559Z
SUMMARY:Vollmond
DTSTART:20080122T133500Z
TRANSP:OPAQUE
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20100321T133042Z
CREATED:20081026T013154Z
UID:3700ed3f-1eff-4ae9-8892-babb37a16d6b
LAST-MODIFIED:20081026T013510Z
SUMMARY:Vollmond
DTSTART:20090904T160200Z
TRANSP:OPAQUE
END:VEVENT


Beide speichern die Zeiten mit einem abschließenden "Z" ab. Wenn das falsch ist, machen beide Programme denselben Fehler.


Nach oben
  Profil
 
 Betreff des Beitrags: Re: Probleme mit Zeitzonen bzw Sommer-/Winterzeit
BeitragVerfasst: So 21. Mär 2010, 17:20 
Offline
Benutzeravatar

Registriert: So 6. Nov 2005, 22:57
Beiträge: 1283
Warum? Sehen doch beide korrekt aus. Datum und Zeit ist jeweils in UTC angegeben und damit gültig. Aber UTC + Zeitzone wie in deinem ersten Beispiel ist ungültig.


Nach oben
  Profil
 
 Betreff des Beitrags: Re: Probleme mit Zeitzonen bzw Sommer-/Winterzeit
BeitragVerfasst: So 21. Mär 2010, 17:52 
Offline

Registriert: Di 15. Sep 2009, 18:31
Beiträge: 50
Ah, jetzt habe ich gesehen, was Du meinst. Ja, Du hast Recht: das war ein Fehler meinerseits, verursacht durch unsauberes Ausschneiden mit der Maus.

Also noch mal, um alle Klarheiten zu beseitigen. In der Datei sieht ein solcher Eintrag vor dem Synchronisieren so aus:

Code:
DTSTART;TZID=Europe/Berlin:20100321T130000
DTEND;TZID=Europe/Berlin:20100321T140000


Nach dem Synchronisieren:

Code:
DTSTART:20100321T120000Z
DTEND:20100321T130000Z


Wie gesagt: bei einzelnen Terminen ist das egal. Probleme machen nur wiederkehrende Termine, die über die Zeitumstellung hinweg bestehen, wobei es aber auf das Programm ankommt, mit welchem die Kalenderdatei betrachtet wird: Lightning verschiebt Termine, Korganizer nicht.

Ob das Verschlucken der Zeitzonen-Info ein Fehler des Synchronisierungs-Programms (in diesem Fall OpenSync) ist oder vielleicht eine gewollte Eigenschaft, kann ich nicht beurteilen, aber Korganizer ist doch der Beweis, daß sich ein Programm durch das Fehlen der Info nicht aus dem Tritt bringen lassen muß, wenn es um Berechnung der Anfangszeiten von sich wiederholenden Terminen geht und ein Wechsel Zeitzonen dazwischen liegt. Es wäre halt sehr schön, wenn Lightning diese Berechnung ebenfalls richtig machen würde.


Nach oben
  Profil
 
 Betreff des Beitrags: Re: Probleme mit Zeitzonen bzw Sommer-/Winterzeit
BeitragVerfasst: So 21. Mär 2010, 19:29 
Offline
Benutzeravatar

Registriert: So 6. Nov 2005, 22:57
Beiträge: 1283
Aus meiner Sicht liegt der Fehler demnach bei Korganizer, da dieser offenbar UTC-Zeiten falsch interpretiert. Die koordinierte Weltzeit (UTC) wurde eben definiert um immer einen festen Zeitbezug zu haben, unabhängig von Zeitzonen oder Sommerzeit/Winterzeit. Die lokale Zeit ist dann wieder abhängig von Zeitzonen und Sommerzeit/Winterzeit.


Nach oben
  Profil
 
 Betreff des Beitrags: Re: Probleme mit Zeitzonen bzw Sommer-/Winterzeit
BeitragVerfasst: Mo 22. Mär 2010, 10:02 
Offline

Registriert: Di 15. Sep 2009, 18:31
Beiträge: 50
sts hat geschrieben:
Aus meiner Sicht liegt der Fehler demnach bei Korganizer, da dieser offenbar UTC-Zeiten falsch interpretiert.

Ich glaube nicht, daß Korganizer hier einen Fehler macht. Ich glaube eher, es korrigiert nur einen Fehler, denn es geht hier nur um wiederkehrende Termine, deren Zyklus über die Zeitumstellung hinweg besteht. Und ich kenne keinen regelmäßigen Termin, der im Sommer eine Stunde eher beginnt als im Winter, gemessen an der lokalen Zeit. Und genau darauf kommt es doch an: wenn ich im Februar einen wöchentlichen Termin anlege, z.B. jeden Montag um 9.00h, darf dieser Termin im April, nach der Umstellung auf die Sommerzeit nicht plötzlich Montags um 8.00h oder 10.00h im Kalender stehen. Also ist es doch eigentlich logisch, sich den ersten Termin dieses Zyklus anzusehen, und die Folgetermine anhand der dort definierten Wiederholungsregel zu berechnen, unabhängig von den Zeiten, die bei den einzelnen Terminen eingetragen sind, mit einer einzigen Ausnahme: einzelne Termine, die aus dem Zyklus gestrichen oder verschoben wurden, z.B. wegen Feiertagen. Diese müssen in einzelne Termine umgewandelt werden.

Generell werden einzelne Termine ohne Wiederholung von Lightning ja richtig behandelt. Nur bei Zyklen kommt Lightning anscheinend ins Stolpern.


Nach oben
  Profil
 
 Betreff des Beitrags: Re: Probleme mit Zeitzonen bzw Sommer-/Winterzeit
BeitragVerfasst: Mo 22. Mär 2010, 20:37 
Offline
Benutzeravatar

Registriert: So 6. Nov 2005, 22:57
Beiträge: 1283
Bei wiederholenden Terminen in lokaler Zeit oder einer bestimmten Zeitzone gebe ich dir Recht. Im obigen Beispiel geht es aber nicht um einen solchen Termin, sondern um einen wiederholenden Termin in UTC und deswegen bleibe ich bei meiner Meinung ;) Beispiel:

Code:
BEGIN:VEVENT
UID:39c93e71-26ed-4250-add4-dc643bd26fc2
SUMMARY:Termin mit Zeitzone
RRULE:FREQ=WEEKLY
DTSTART;TZID=Europe/Berlin:20100322T200000
DTEND;TZID=Europe/Berlin:20100322T210000
END:VEVENT

Der wiederholende Termin findet immer um 20:00 Uhr Ortszeit Berlin statt, unabhängig davon ob dort gerade Sommer- oder Winterzeit ist. In anderen Zeitzonen kann sich die Zeit aber durchaus ändern. In New York hat die Sommerzeit bereits vor zwei Wochen begonnen, bei uns startet sie erst nächstes Wochenende. Deshalb ist aus deren Sicht der Termin aktuell um eine Stunde verschoben. Erst wenn bei beiden die Sommerzeit gilt ist der Termin wieder an der ursprünglichen Zeitposition.

Code:
BEGIN:VEVENT
UID:f3c0d51a-c70b-4032-b9ff-d7575f409bff
SUMMARY:Termin in lokaler Zeit
RRULE:FREQ=WEEKLY
DTSTART:20100323T200000
DTEND:20100323T210000
END:VEVENT

Der wiederholende Termin findet immer um 20:00 Uhr lokale Ortszeit statt, unabhängig von der Zeitzone. Es ist also egal ob du in gerade in Sydney, Berlin oder New York bist.

Code:
BEGIN:VEVENT
UID:536e9ab3-74d2-40ad-80f2-b46527975b9b
SUMMARY:Termin in UTC
RRULE:FREQ=WEEKLY
DTSTART:20100324T200000Z
DTEND:20100324T210000Z
END:VEVENT

Der wiederholende Termin findet immer um 20:00 Uhr koordinierte Weltzeit (UTC) statt. Abhängig von der lokalen Zeitzone, Sommer- und Winterzeit ändert sich der Offset zu UTC. Für einen Nutzer in der Zeitzone Berlin wechselt der Termin damit zwischen 21:00 Winterzeit (UTC+1) und 22:00 Sommerzeit (UTC+2).

Das eigentliches Problem ist damit der Datenverlust bei der Synchronisation mit dem PDA. Denn damit wird aus dem Termin mit Zeitzone ein Termin ohne Zeitzone in UTC. Und dafür gilt eben ein anderes Verhalten.


Nach oben
  Profil
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu: