Einzelnen Beitrag anzeigen

Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.017 Beiträge
 
Delphi 2009 Professional
 
#15

AW: MSSQL - DateTime to Int liefert unterschiedliche Werte

  Alt 13. Dez 2020, 00:38
In OLE beginnt die Epoche am 0. Januar des Schaltjahres 1900. Ja, es ist ausdrücklich nicht der 31. Dezember 1899 (formatiert mal in Excel 0 oder 60 als Datum). Und ja, 1900 war kein Schaltjahr.
Aus den Gründen hat Delphi den minus-1. Januar des Normaljahres 1900 (auch 30. Dezember 1899 genannt) als Start der Epoche. Bei Tagen ab dem 1.3.1900 kann man bei der Arbeit mit OLE den Unterschied ignorieren. OLE kennt keine Datumsangaben vor Beginn der Epoche.
Die Epoche beginnt bei SQL Server am 1. Januar des Normaljahres 1900. Warum Microsoft da ein anderes Datum als bei ihren anderen Produkten gewählt hat, erschließt sich mir nicht.

Da muss man höllisch bei überladenen Methoden aufpassen, die was an die Datenbank übergeben, da man in Delphi Double und TDateTime nicht unterscheiden kann, sonst hat man die zwei Tage Differenz.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat