Verschiedene Sprachen und Systeme verwenden unterschiedliche numerische Darstellungen von Terminen.
SQL 2005 zählt die Anzahl der Tage vom 1.1.1900:
SELECT CONVERT(DATETIME, 1)
1900-01-02 00:00:00.000
Excel und Access VBA die Anzahl der Tage von 12/30/1899 zählen:
? CDate(1)
12/31/1899
Andere zählen die Anzahl von Tagen, Sekunden oder manchmal Millisekunden von einem anderen scheinbar zufälligen Startpunkt. Ich denke MS DOS verwendet am 31. Dezember 1990. UNIX verwendet 1/1/1970.
Also versuchen Sie nicht, sie direkt zu übersetzen (numerisch, das ist). Sie müssen in eine aktuelle Datumsrepräsentation (01-03-2009) und dann zurück in die andere Umgebung übersetzen.
Edit: VBA hat ein paar komische Macken über Rückwärtskompatibilität und Schaltjahr Berechnungen. Siehe Joel's first encounter with Bill Gates für eine gute Lektüre.
MS DOS war 1/1/1980 –