Benutzer mit den meisten Antworten
CreatedOn Date

Frage
-
Hallo,
so jetzt noch ne frage undzwar wenn ich einen neuen DB eintrag im z.B. CRM generier dann wird in der Datnebank bei CreatedOn date nicht das aktuelle Datum genommen sondern das 2 stunden zuvor. Ich hab einen Englischen Win2008 Server + Enlischer SQL 2008.
jemand eine Idee wie ich das hinbekomme das die Einträge auch die korrekte Zeit haben ?
Gruss
Peter
Antworten
-
Hallo Peter,
Eine UTC Zeit vermeidet einige Probleme, die bei lokalen Zeiten auftreten können,
auch Windows verwendet das intern. (Und ich es in den .NET Foren es häufiger habe
erläutern müssen, wo einige Verständnisschwierigkeiten auftraten ;-)Beim SQL Server 2008 hast Du mit DATETIMEOFFSET einen Datentyp,
mit dem das Umrechnen möglich ist, siehe Verwenden von Datums- und Zeitdaten
und Datums- und Uhrzeitdatentypen und zugehörige Funktionen (Transact-SQL)Bevor man dort was ändert, sollte man eine Lösung darüber versuchen, z. B.:
-- DATETIME als UTC Zeit DECLARE @zeit datetime = GETUTCDATE(); SELECT @zeit AS UtcDateTime, DATEADD(MINUTE, DATEPART(TZOFFSET, SYSDATETIMEOFFSET()), @Zeit) AS LokaleZeit, SYSDATETIMEOFFSET() AS LokalDateTimeOffset
Wobei der CRM Hersteller evtl. noch SQL Server 2005 (und früher) unterstützen muß
und deswegen DATETIME verwendet (bzw. muß) - dort gab es die Datentypen und -funktionen nicht.Gruß Elmar
- Als Antwort markiert Peter_CRM Mittwoch, 2. Juni 2010 08:19
Alle Antworten
-
Da würde ich zunächst einmal erst beim Hersteller nachfragen, ob dem so ist und was er für diesen Fall vorsieht. vielleicht kann man das ja anpassen über eine Einstellung, ohne irgendwelchen Quellcode ändern zu müssen.
-- Frank Kalis Microsoft SQL Server MVP Webmaster: http://www.insidesql.org -
Hallo Peter,
Eine UTC Zeit vermeidet einige Probleme, die bei lokalen Zeiten auftreten können,
auch Windows verwendet das intern. (Und ich es in den .NET Foren es häufiger habe
erläutern müssen, wo einige Verständnisschwierigkeiten auftraten ;-)Beim SQL Server 2008 hast Du mit DATETIMEOFFSET einen Datentyp,
mit dem das Umrechnen möglich ist, siehe Verwenden von Datums- und Zeitdaten
und Datums- und Uhrzeitdatentypen und zugehörige Funktionen (Transact-SQL)Bevor man dort was ändert, sollte man eine Lösung darüber versuchen, z. B.:
-- DATETIME als UTC Zeit DECLARE @zeit datetime = GETUTCDATE(); SELECT @zeit AS UtcDateTime, DATEADD(MINUTE, DATEPART(TZOFFSET, SYSDATETIMEOFFSET()), @Zeit) AS LokaleZeit, SYSDATETIMEOFFSET() AS LokalDateTimeOffset
Wobei der CRM Hersteller evtl. noch SQL Server 2005 (und früher) unterstützen muß
und deswegen DATETIME verwendet (bzw. muß) - dort gab es die Datentypen und -funktionen nicht.Gruß Elmar
- Als Antwort markiert Peter_CRM Mittwoch, 2. Juni 2010 08:19