User Tools

Site Tools


technology:datumswerte

This is an old revision of the document!


Datums und Zeitwerte

Datums und Zeitwerte werden intern als Gleitkommazahl1) gespeichert. Das Problem ist, dass solch ein Gleitkommawert einen Bezug haben muss und zudem in unterschiedlichen Zeitzonen was anderes bedeuten kann. Hinzu kommt, dass die unterschiedliche Bedeutung sich ändern kann wenn sich die Regeln ändern. Wenn ich z.B. einen Termin im April 2014 für 08:00 eingetragen habe, und sich die Sommerzeitregelung ändern sollte, kann das zu Problemen führen2).

Berechnungen mit Datumswerten

Die Berechnungen von Datumswerten ist sehr einfach. Der Unterschied zwischen 2 Werten wird z.B. einfach ermittelt, indem die Werte von einander abgezogen werden. Ob es dazwischen eine Zeitumstellung gibt kann das System nicht wissen3). Folgendes führt somit zu einem Wert von 1, obwohl am 28.10.2012 die Uhren eine Stunden zurück gestellt werden:

In den Anwendungen der TAV Enterprise Software GmbH geht es um Businessanwendungen und nicht um Wissenschaftliche Anwendungen. Einige raten, die Uhrzeit als UTC zu speichern und immer hin-und-her zu konvertieren. Der Anwender gibt 08:00 an, das System konvertiert vor dem Speichern zu 06:00 in UTC. Beim erneuten laden der Daten zur Anzeige wird von 06:00 UTC zurück in die lokale Uhrzeit von 08:00 konvertiert.

1) Double oder Float
2) wenn der Wert als UTC Zeit gespeichert wird, der beim Konvertieren in die lokale Uhrzeit die Sommerzeit berücksichtigt - und wenn Windows heute und morgen andere Regeln für diese Konvertierung hat, führt das zu unterschiedlichen Ergebnissen
3) es könnte die lokale Einstellung verwenden, dann würden Berechnungen aber abhängig der Systemeinstellung zu unterschiedlichen Ergebnissen führen
technology/datumswerte.1350811918.txt.gz · Last modified: 2012/10/21 11:31 by rtavassoli