UTC-Konvertierung für importierte Termine/Aufgaben

Die Termin- und Aufgabenverwaltung des combit Relationship Manager arbeitet intern mit UTC-Zeiten, was bedeutet, dass alle Datis bezogen auf die Zeitzone GMT +0:00 abgespeichert werden. Direktes Importieren externer Termin-/Aufgabendaten, welche selbst nicht auf UTC basieren, führt daher entsprechend zu einer um 1-2 Stunden verschobenen Anzeige und Erinnerung.

Folgende beispielhafte Query für den MS SQL Server konvertiert ein Datumsfeld auf UTC Zeit (unter der Annahme, dass das vorliegende Datum auf der Mitteleuropäischen Zeitzone GMT+1:00, resp. GMT +2:00 für den Sommerzeitraum, basiert).

Beispiel:

--Sommerzeitraum 2006 -> ist GMT +2:00, also 2h abziehen
UPDATE "cmbt_tm_appointments"
SET "DateTo" = DATEADD(hour, -2, "DateTo")
WHERE ("DateTo" >= '26.03.2006 02:00')
and ("DateTo" < '29.10.2006 03:00')

--Winterzeitraum 2005/06 und 2006/07 -> ist GMT +1:00, also 1h abziehen
UPDATE "cmbt_tm_appointments"
SET "DateTo" = DATEADD(hour, -1, "DateTo")
WHERE (("DateTo" >= '30.10.2005 03:00')
and ("DateTo" < '26.03.2006 02:00'))
or (("DateTo" >= '29.10.2006 03:00')
and ("DateTo" < '25.03.2007 02:00')) 


Diese beiden Abfragen müssen in allen cmbt_tm_* Tabellen, in denen datetime Spalten vorhanden sind, für alle diese datetime Spalten durchgeführt werden.

Falls Termine/Aufgaben für spätere Zeitpunkte als den 24.03.2007 existieren, muss die Query auf den Sommer-/Winterzeitraum 2007/08 angepasst und erneut ausgeführt werden. Die entsprechenden Zeiträume ergeben sich gemäß untenstehenden Link.

ACHTUNG! Bitte beachten Sie, dass obige Abfrage alle Termine in der Tabelle modifiziert. Sie dürfen also noch keine Termine über die Terminverwaltung angelegt haben, da diese ja dann bereits korrekt auf UTC basieren und nun fälschlicherweise auch modifiziert werden würden.

Links:

http://de.wikipedia.org/wiki/Sommerzeit
IDKBAD001118 KBAD001118