> [← open.SERVICE v2](<Überblick.md>) # Zeitzonen **Eine Wiederholung ist eine Aussage über die Wandzeit, nicht über einen Zeitpunkt.** „Jeden Mittwoch 10:00" meint die Uhr in der Halle. Wird eine Serie in absoluter Zeit expandiert, bleiben die Abstände exakt — bei einer Wochenserie 168 Stunden. Genau deshalb wandert der Termin bei jeder Zeitumstellung um eine Stunde: ein 10:00-Termin wird im Frühling zu einem 11:00-Termin, und ein 23:30-Termin rutscht über Mitternacht in einen anderen Tag. Für einen Wartungsplan ist beides falsch. ## Wie die Cadence es löst Eine `rrule`-Cadence trägt dafür ein optionales Feld: ```ts interface RRuleCadence { kind: "rrule"; rrule: string; dtstart?: string; until?: string; timezone?: string; // IANA-Zone, z. B. "Europe/Berlin" } ``` Ist eine Zone gesetzt, wird die Serie **in Wandzeit** expandiert und erst am Ende in echte Zeitpunkte übersetzt: die Uhrzeit bleibt, der Zeitpunkt verschiebt sich. Mechanisch trägt `@opendash/schedule` dazu die Wandzeit in den UTC-Feldern eines `Date`, lässt die Wiederholung darauf laufen und rechnet erst zum Schluss zurück (`toFloating` / `fromFloating`). Das ist dasselbe Verfahren, das `rrule` intern für sein `tzid` verwendet. ## Drei Punkte für die Praxis **Die Zone gehört zum Plan, nicht zum Betrachter.** Die Maschine steht, wo sie steht. Ein Techniker, der den Kalender aus einer anderen Zeitzone öffnet, darf damit keinen Plan verschieben. **Ohne Zone gilt absolute Zeit.** Das Feld ist optional, und ohne Zone geben die Umrechnungsfunktionen das Datum unverändert zurück. Pläne ohne Zone liefern weiterhin genau die Termine, die sie immer geliefert haben. Neu angelegte Pläne bekommen die Zone des Browsers. > [!warning] Eine Zone nachträglich zu setzen ist eine Migration, keine Einstellung > Sie verschiebt die Termine des Plans — und entwertet vorhandene > `cadenceExceptions`, weil diese über den Zeitstempel des ursprünglichen Termins > identifiziert werden. Wer eine Zone auf einem Bestandsplan mit Ausnahmen setzt, > muss die Ausnahmen mitziehen. ## Verwandt - [[Developer/open.SERVICE/Wiederholungen|Wiederholungen und Termine]]