Falsches Datum aber warum ?

Moin,
Ich habe ein Modul zum ermitteln des Änderungsdatum einer Datei.
Doch bekomme ich komischerweise bei vereinzelten Datein ein Falsches Datum „1.1.1601“. Normalerweise kenne ich dieses Datum nur von ORdnern wenn ich versuche dort ein Änderungsdatum zu ermitteln.

Wenn ich mir die Egenschaften der Datei anschaue steht dort bei Änderungsdatum ein Normaler Wert wie 3.5.2005
Kann mir jemand nen Tipp geben ?

mfg jonny
Das Modul welches ich verwende:

Public Function GFTM(ByVal Datei As String) As String
Dim lngHandle As Long, SHDirOp As SHFILEOPSTRUCT, lngLong As Long
Dim Ft1 As FILETIME, Ft2 As FILETIME, SysTime As SYSTEMTIME

lngHandle = CreateFile(Datei, GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0&, OPEN_EXISTING, 0, 0)
GetFileTime lngHandle, Ft1, Ft1, Ft2
FileTimeToLocalFileTime Ft2, Ft1
FileTimeToSystemTime Ft1, SysTime
GFTM = LTrim(Str$(SysTime.wDay)) + „.“ + LTrim(Str$(SysTime.wMonth)) + „.“ + LTrim(Str$(SysTime.wYear))
CloseHandle lngHandle
End Function

Hallo
Das ist häufigerweise ein bug von Misrosoft, achte auf das Datumvormat: #MM/DD/YYYY# dann sollte der quatsch funktionieren, wenn es dann nicht geht, gibt es noch die Möglichkeit das Datum über die millisekunden (DoubleVariable) auszulesen.

Gruss Sebastian

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

habe es jetzt so hingestellt
GFTM = LTrim(Str$(SysTime.wMonth)) + „.“ + LTrim(Str$(SysTime.wDay)) + „.“ + LTrim(Str$(SysTime.wYear))

aber trotzdem springt ich in die IF abfrage bei den 4 datein
If GFTM(Source) = „1.1.1601“ Then 'TEST WARUM

wie war das mit DoubleVariable & millisekunden

mfg jonny

aber

Hallo
Das ist häufigerweise ein bug von Misrosoft, achte auf das
Datumvormat: #MM/DD/YYYY# dann sollte der quatsch
funktionieren, wenn es dann nicht geht, gibt es noch die
Möglichkeit das Datum über die millisekunden (DoubleVariable)
auszulesen.

Gruss Sebastian

Nein, nicht so, sondern:

GFTM = „#“ & month(now) & „/“ & day(now) & „/“ & year(now) & „#“

Jedes datum kann man auch als Double ausgeben, so sind vor dem Komma die Tage und nach dem Komma die Stunden, Minuten, Sekunden dann wäre das als Beispiel einfach so:

dim dat1 as double, dat2 as double
dat1 = now()
dat2 = now() - 30 'Datum weniger 30 Tage

Aber ob das sinn macht das Datum mit double zu berechnen? Ich habe es persönlich lieber im Datumsformat.

Gruss Sebastian

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]