Date-Maximum liefert bereits -1

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Sicro
Beiträge: 969
Registriert: 11.08.2005 19:08
Kontaktdaten:

Date-Maximum liefert bereits -1

Beitrag von Sicro »

Weiß jetzt nicht, ob ich das als Bug bewerten soll oder der Text in der Hilfe nicht stimmt. Laut anderen Beschreibungen zu Unix Timestamp wird aber ebenfalls 19.01.2038 03:14:07 als Maximum beschrieben.

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 ; = -1
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Benutzeravatar
Chimorin
Beiträge: 451
Registriert: 30.01.2013 16:11
Computerausstattung: MSI GTX 660 OC mit TwinFrozr III
6Gb DDR 3 RAM
AMD Phenom II X4 B55 @ 3,6GHz
Windows 7 Home Premium 64-bit

Re: Date-Maximum liefert bereits -1

Beitrag von Chimorin »

Code: Alles auswählen

http://de.wikipedia.org/wiki/Jahr-2038-Problem
Hast du, denke ich, auch schon gesehen.

Bestätigt, ist aber kein Bug, eher ein Feature ;)
Bild

- formerly known as Bananenfreak -
Benutzeravatar
Sicro
Beiträge: 969
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: Date-Maximum liefert bereits -1

Beitrag von Sicro »

Ja, ist mir bekannt, aber ich bin eine Sekunde unter dem Überlauf :twisted:

Und mit Umwegen geht es doch:

Code: 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)"
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Benutzeravatar
Sicro
Beiträge: 969
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: Date-Maximum liefert bereits -1

Beitrag von Sicro »

Also, ich sehe das als Bug, wenn ihr das Gleiche bei euch reproduzieren könnt.
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3875
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: Date-Maximum liefert bereits -1

Beitrag von bobobo »

Ist für mich eher ne Nickeligkeit und eine Ungenauigkeit in der Doku.

das 20138erProblem bleibt auf jeden Fall, auch wenn der Überlauf bei PB
schon um 0 Uhr stattfindet.
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
KatSeiko
Beiträge: 367
Registriert: 19.07.2008 07:47

Re: Date-Maximum liefert bereits -1

Beitrag von KatSeiko »

Durch die 64-Bit-Umstellung kann der POSIX-Zeitstempel 292 Milliarden Jahre zuverlässig arbeiten, ohne dass es zu einem Überlauf kommt.
Habt ihr das Ganze mal in der 64bit-Version von PBasic getestet?
Win7 Ultimate x64, PureBasic 5.11

There is no substitute..
BildBildBild
Benutzeravatar
Sicro
Beiträge: 969
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: Date-Maximum liefert bereits -1

Beitrag von Sicro »

bobobo hat geschrieben:das 20138erProblem bleibt auf jeden Fall, auch wenn der Überlauf bei PB
schon um 0 Uhr stattfindet.
Der Überlauf muss intern bei der Funktion "Date()" stattfinden, denn mit AddDate() kommt noch kein Überlauf, wie du meinem letztem Code entnehmen kannst.
Also, ok finde ich das nicht. Date() sollte auch die Werte unterstützen, die AddDate() unterstützt.
KatSeiko hat geschrieben:Habt ihr das Ganze mal in der 64bit-Version von PBasic getestet?
Macht kein Unterschied.

Kann den Code mal bitte einer mit der neusten Beta-Version testen?
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3875
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: Date-Maximum liefert bereits -1

Beitrag von bobobo »

ja klar .. nur date(..) zickt rum.

übigens auch in PB 5.20 b6 32bit

da gehört die Doku dann auch angepasst. :twisted:
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
Sicro
Beiträge: 969
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: Date-Maximum liefert bereits -1

Beitrag von Sicro »

Ich war gerade spontan im englischem Forum und habe mir die neueren Bugs mal durchgesehen.
Dabei ist mir aufgefallen, dass Regenduft seit einer Weile dort eine Bug-Meldung diesbezüglich veröffentlicht und Fred diesen Bug als behoben markiert hat:
http://www.purebasic.fr/english/viewtop ... =4&t=58895
Ich hoffe, dieser Fix betrifft die gesamte Date-Library.

Vielen Dank an Regenduft fürs Melden im englischem Forum - und ans Team natürlich fürs Fixen.
Wenigstens ihr habt dieses Verhalten auch als Bug gesehen.
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Antworten