Code: Alles auswählen
Date = Date(2038, 1, 19, 3, 14, 7) ; 19.01.2038, 03:14:07
Debug Date ; = -1
Date = ParseDate("%dd.%mm.%yyyy, %hh:%ii:%ss", "19.01.2038, 03:14:07")
Debug Date ; = -1Code: Alles auswählen
Date = Date(2038, 1, 19, 3, 14, 7) ; 19.01.2038, 03:14:07
Debug Date ; = -1
Date = ParseDate("%dd.%mm.%yyyy, %hh:%ii:%ss", "19.01.2038, 03:14:07")
Debug Date ; = -1
Code: Alles auswählen
http://de.wikipedia.org/wiki/Jahr-2038-ProblemCode: Alles auswählen
Date = Date(2038, 1, 19, 3, 14, 7)
Debug Date ;= -1
; Ok, nun anders:
Date = Date(2038, 1, 18, 23, 59, 59)
Date = AddDate(Date, #PB_Date_Second, 1) ;= 19.01.2038 0:00:00
Date = AddDate(Date, #PB_Date_Hour, 3) ;= 19.01.2038 3:00:00
Date = AddDate(Date, #PB_Date_Minute, 14) ;= 19.01.2038 3:14:00
Date = AddDate(Date, #PB_Date_Second, 7) ;= 19.01.2038 3:14:07
Debug Date ; liefert diesmal keine "-1" entspricht aber "Date(2038, 1, 19, 3, 14, 7)"
; ========================================
Date = Date(2038, 1, 19, 0, 0, 0)
Debug Date ;= -1
; Ok, nun anders:
Date = Date(2038, 1, 18, 23, 59, 59)
Date = AddDate(Date, #PB_Date_Second, 1)
Debug Date ; liefert diesmal keine "-1" entspricht aber "Date(2038, 1, 19, 0, 0, 0)"

Habt ihr das Ganze mal in der 64bit-Version von PBasic getestet?Durch die 64-Bit-Umstellung kann der POSIX-Zeitstempel 292 Milliarden Jahre zuverlässig arbeiten, ohne dass es zu einem Überlauf kommt.
Der Überlauf muss intern bei der Funktion "Date()" stattfinden, denn mit AddDate() kommt noch kein Überlauf, wie du meinem letztem Code entnehmen kannst.bobobo hat geschrieben:das 20138erProblem bleibt auf jeden Fall, auch wenn der Überlauf bei PB
schon um 0 Uhr stattfindet.
Macht kein Unterschied.KatSeiko hat geschrieben:Habt ihr das Ganze mal in der 64bit-Version von PBasic getestet?

