Du mußt das Date-Setzen atomisch machen.
Eine Lösung wäre, dafür SQLDateTime zu verwenden. Den Wert kannst du
in die DB schreiben und auch wieder so rausholen.
Allerdings ist das SQL-Datum immer lokale Zeit. Noch besser wäre es,
eine UTC-Zeit aufzuzeichnen, damit auch bei einem Wechsel der Zeitzone
zw. Sichern und Auslesen immer noch die selbe Zeit rauskommt.
Hier sind 2 Methoden, die du so einfach in ein neues Modul kopieren solltest:
Function UTCDateTime(extends d as Date) As String
// Returns a UTC value, i.e. a time independent of the current time zone
dim d2 as new Date(d)
d2.Hour = d.Hour - d.GMTOffset
return d2.SQLDateTime.Replace(" ","T")+"Z"
End Function
Sub UTCDateTime(extends d as Date, assigns value as String)
// Assigns a UTC value, i.e. a time independent of the current time zone
if value.Right(1) = "Z" then
d.SQLDateTime = value.Replace("T", " ").Left(value.Len-1)
d.Hour = d.Hour + d.GMTOffset
else
raise new UnsupportedFormatException
end
End Sub
Dann kannst du den Wert via
d.UTCDateTime
abfragen und setzen.
--
Thomas Tempelmann, http://www.tempel.org/
Follow me on Twitter: http://twitter.com/#!/tempelorg