Include - Quad-Timestamp
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
> Man vergisst das ja heute leicht.
mir ist das noch wohlbekannt. ich hatte in den 80ern mit Datensätzen zu tun,
in denen die Jahreszahl aus Platzgründen zweistellig abgelegt war.
das ist ja die eigentliche Ursache der y2k-panik, das weiß kaum noch jemand.
mir ist das noch wohlbekannt. ich hatte in den 80ern mit Datensätzen zu tun,
in denen die Jahreszahl aus Platzgründen zweistellig abgelegt war.
das ist ja die eigentliche Ursache der y2k-panik, das weiß kaum noch jemand.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
- NicTheQuick
- Ein Admin
- Beiträge: 8807
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
@LittleJohn:
Sau gut!
Da gibt es keine Fehler. Sogar im Jahr 10000 ist noch alles richtig!
Könnte ich mit '#DAYS_UNTIL_1970_01_01' auch einfach das Offset
verschieben um z.B. im Jahre 1500 anzufangen?
Warum frag ich eigentlich? Ich probiers mal aus.
///Edit:
Okay, klappt wunderbar.
Aber mal eine Frage an alle: Meldet sich bei euch beim Ausführen auch
immer Avira Antivir mit einem Trojanischen Pferd? Das ist nur bei diesem
Datumscode so. Bei anderen Programmen nicht. Bei Stargates Version
war es auch so.
Sau gut!
Da gibt es keine Fehler. Sogar im Jahr 10000 ist noch alles richtig!
Könnte ich mit '#DAYS_UNTIL_1970_01_01' auch einfach das Offset
verschieben um z.B. im Jahre 1500 anzufangen?
Warum frag ich eigentlich? Ich probiers mal aus.

///Edit:
Okay, klappt wunderbar.

Aber mal eine Frage an alle: Meldet sich bei euch beim Ausführen auch
immer Avira Antivir mit einem Trojanischen Pferd? Das ist nur bei diesem
Datumscode so. Bei anderen Programmen nicht. Bei Stargates Version
war es auch so.
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
bitte vergib mir, wenn ich das jetzt nicht anteste...
ich ärger mich seit gut 24h damit rum, dass AVAST das Game "Lost Castle" von Reiner Prokein anmeckert.
ich bekomme nicht mal den Download vollständig.
...also, auf noch nen Fehlalarm hab ich grad gar keine Zeit, sorry.
... aber grundsätzlich sollte man das problem wohl mal eingrenzen, denke ich...
ich ärger mich seit gut 24h damit rum, dass AVAST das Game "Lost Castle" von Reiner Prokein anmeckert.
ich bekomme nicht mal den Download vollständig.
...also, auf noch nen Fehlalarm hab ich grad gar keine Zeit, sorry.
... aber grundsätzlich sollte man das problem wohl mal eingrenzen, denke ich...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Danke!NicTheQuick hat geschrieben:@LittleJohn:
Sau gut!

Kurze Antwort:NicTheQuick hat geschrieben:Könnte ich mit '#DAYS_UNTIL_1970_01_01' auch einfach das Offset
verschieben um z.B. im Jahre 1500 anzufangen?
Warum frag ich eigentlich? Ich probiers mal aus.
///Edit:
Okay, klappt wunderbar.
Ja, mit allen Offsets >= 0 sollte es klappen.
Lange Antwort:
Ob's auch mit negativen Offsets geht weiß ich nicht, das müsste ich genauer prüfen bzw. gegebenenfalls den Code ändern.
Und natürlich liefert Date() für ein Datum nach 1970 einen größeren Wert wenn 1500-01-01 = 0 gesetzt wird, als wenn 1970-01-01 = 0 gesetzt wird. Dadurch wird eher die Grenze des Wertebereichs für Quad erreicht. Allerdings sollte der Spielraum für normale Zwecke ausreichen. Z.B. auf der Basis von 1970-01-01 kann man Datumsangaben bis 04.12.32548, 15:30:07 bearbeiten. Wir treffen uns dann zum Tee, OK?

Was ich noch nicht ausdrücklich erwähnt hatte ist, dass die Berechnung auf dem Gregorianischen Kalender basiert. Der wurde ja erst 1582 eingeführt ... Aber wenn man nicht präzise historische wissenschaftliche Berechnungen durchführen will, kann man meist einfach so tun als wenn er auch schon vorher gegolten hätte. Wenn man den Wechsel zum Gregorianischen Kalender aber exakt berücksichtigen will, dann wird's wirklich schwierig. Denn er wurde nicht in allen Ländern zur gleichen Zeit eingeführt. So kann z.B. die Angabe "3. Januar 1602" je nach dem Land auf das sie sich bezieht, eine Angabe nach dem Gregorianischen Kalender sein oder auch nicht. Laut Wikipedia wurde der Gregorianische Kalender in China sogar erst am 1. Januar 1929 eingeführt. Aber mit solchen Sachen möchte man sich eigentlich nicht wirklich beschäftigen.

Das ist interessant. Ich selbst kann nur sagen, dass das hier mit AVG 8 nicht passiert.NicTheQuick hat geschrieben:Aber mal eine Frage an alle: Meldet sich bei euch beim Ausführen auch
immer Avira Antivir mit einem Trojanischen Pferd? Das ist nur bei diesem
Datumscode so. Bei anderen Programmen nicht. Bei Stargates Version
war es auch so.
Gruß, Little John
- NicTheQuick
- Ein Admin
- Beiträge: 8807
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Moment mal.
Wieso kommt da bei was falsches raus?
'DateQ()' scheint zu funktionieren, aber 'SplitDateQ()' nicht.
Wieso kommt da bei was falsches raus?
Code: Alles auswählen
tmp.DateTime
tmp\year = 1970
tmp\month = 1
tmp\day = 1
date.q = DateQ(tmp)
Debug date ;0
SplitDateQ(date, tmp)
Debug tmp\year ;1969
Debug tmp\month ;1
Debug tmp\day ;1
Gute Frage.NicTheQuick hat geschrieben:Moment mal.
Wieso kommt da bei was falsches raus?

In meinem Beitrag mit dem Code sind ja auch umfangreiche Tests enthalten, auch der Test den Du hier machst. Der Test wurde neulich bestanden (auch bei Dir, nicht wahr?). Und wenn ich jetzt direkt den Code aus meinem Posting hier im Thread herauskopiere, liefert Dein neuer Test damit erwartungsgemäß
Code: Alles auswählen
0
1970
1
1

Kopier bitte den Code nochmal "frisch" hier aus dem Forum, und wiederhole damit den aktuellen Test. Was kommt dann 'raus?
Gruß, Little John
- NicTheQuick
- Ein Admin
- Beiträge: 8807
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Nein, ich habe den Original-Quellcode genommen.
Vielleicht liegt es aber auch daran, dass nach Klick auf "Ausführen" zuerst
zweimal der Virus TR/Crypt.XPACK.Gen gefunden wird und ich zuerst mal
auf "Ignorieren" klicken muss.
Das komisch ist: Der Virus scheint jetzt auch in mehreren anderen
PureBasic-Programmen zu sein, die ich entweder frisch kompiliere oder
schon seit Jahren in kompilierter Form vorliegen habe. Andere
EXE-Dateien sind nicht betroffen.
Ich hab' eben mal mit einer der angeblich betroffenen Dateien den
Kaspersky Online Scanner gefüttert und der hat kein Problem mit der
Datei.
Scheiß AntiVir!
Ich schmeiß den gleich runter...
Aber zurück zum Code.
Ich hab AntiVir mal ausgeschaltet und das Datum ist immer noch falsch.
Es kann doch nicht daran liegen, dass ich den Code mit PB V4.00 teste,
oder?
Ich werde gleich mal V4.20 testen und mich dann wieder melden.
///Edit 1:
Nein, sogar in der Original-IDE und mit PB 4.20 gibt es den Fehler.
Das kann doch nicht sein.
///Edit 2:
Uff! Hatte bist eben noch V4.20 beta auf meinem Windows-PC. Hab jetzt
auf V4.20 geupdated und siehe da. Jetzt stimmt das Datum!
Vielleicht kann ja mal jemand den Code auf V4.00 oder V4.20 beta testen
und bestätigen, dass er dort falsch funktioniert. Sonst bin ich jetzt noch
verwirrter als vorher.
///Edit 3:
Hier also das ganze nochmal als "Klasse".
common.pbi
Object.pbi
Date.pbi
Warum ich mir die Mühe gemacht habe?
Weil ich es so leichter in meinem Projekt verwenden kann.
Danke nochmal an alle Vorposter!
Vielleicht liegt es aber auch daran, dass nach Klick auf "Ausführen" zuerst
zweimal der Virus TR/Crypt.XPACK.Gen gefunden wird und ich zuerst mal
auf "Ignorieren" klicken muss.
Das komisch ist: Der Virus scheint jetzt auch in mehreren anderen
PureBasic-Programmen zu sein, die ich entweder frisch kompiliere oder
schon seit Jahren in kompilierter Form vorliegen habe. Andere
EXE-Dateien sind nicht betroffen.
Ich hab' eben mal mit einer der angeblich betroffenen Dateien den
Kaspersky Online Scanner gefüttert und der hat kein Problem mit der
Datei.
Scheiß AntiVir!

Ich schmeiß den gleich runter...
Aber zurück zum Code.
Ich hab AntiVir mal ausgeschaltet und das Datum ist immer noch falsch.
Es kann doch nicht daran liegen, dass ich den Code mit PB V4.00 teste,
oder?
Ich werde gleich mal V4.20 testen und mich dann wieder melden.
///Edit 1:
Nein, sogar in der Original-IDE und mit PB 4.20 gibt es den Fehler.

Das kann doch nicht sein.

///Edit 2:
Uff! Hatte bist eben noch V4.20 beta auf meinem Windows-PC. Hab jetzt
auf V4.20 geupdated und siehe da. Jetzt stimmt das Datum!

Vielleicht kann ja mal jemand den Code auf V4.00 oder V4.20 beta testen
und bestätigen, dass er dort falsch funktioniert. Sonst bin ich jetzt noch
verwirrter als vorher.

///Edit 3:
Hier also das ganze nochmal als "Klasse".
common.pbi
Object.pbi
Date.pbi
Warum ich mir die Mühe gemacht habe?
Weil ich es so leichter in meinem Projekt verwenden kann.
Danke nochmal an alle Vorposter!