Hallo,
habe inzwischen durch intensive Vergleiche einzelner Daten den Algorithmus, wie das Datum umgerechnet wird, gefunden.
Für den den es interessiert hier das Coding dazu:
Public Function VB_Datum(ByVal dblSec As Double) As Variant
Dim vStart As Variant
Dim Jahre As Variant
Dim Monate As Variant
Dim Tage As Variant
Dim Rest As Variant
Dim Stunden As Variant
Dim Minuten As Variant
Dim Sekunden As Variant
Dim Datum As Variant
On Error Resume Next
vStart = DateSerial(1980, 1, 1) ’ Bezugsdatum 1.1.1980
’ unter Windows ist kein älters Datum zulässig
Jahre = dblSec \ 33554432 ’ 2^25
Rest = dblSec Mod 33554432
Monate = Rest \ 2097152 ’ 2^21
Rest = Rest Mod 2097152
Tage = Rest \ 65536 ’ 2^16
Rest = Rest Mod 65536
Stunden = Rest \ 2048 ’ 2^11
Rest = Rest Mod 2048
Minuten = Rest \ 32 ’ 2^5
Rest = Rest Mod 32
Sekunden = 2 * Rest ’ 2^1
Datum = DateAdd(„yyyy“, Jahre, vStart)
Datum = DateAdd(„m“, Monate - 1, Datum)
Datum = DateAdd(„d“, Tage - 1, Datum)
Datum = DateAdd(„h“, Stunden, Datum)
Datum = DateAdd(„n“, Minuten, Datum)
VB_Datum = DateAdd(„s“, Sekunden, Datum)
End Function
Gruß
Gunter
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]