Zeitberechnungen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
wie_jetzt?
Beiträge: 21
Registriert: 28.08.2017 17:23

Zeitberechnungen

Beitrag von wie_jetzt? »

Hallo Leute,

kann das sein, dass die Zeitberechnungsfunktionen im aktuellen PB (5.61) nur bis 2036 funktionieren und darüber hinausgehende Datumsberechnungen nicht mehr korrekt arbeiten?

Meine Schaltjahrberechnung

Code: Alles auswählen

For i = 2020 To 2100 Step 4
  Debug DayOfYear(Date(i,12,31,0,0,0))-365
Next
errechnet nur bis 2036 das Ergenis 1 für Schaltjahr, für spätere Schaltjahre den Wert -365 (weil DayOfYear nicht mehr korrekt funzt)
Was das Programmieren angeht, bin ich ein Anfänger mit fast 40 Jahren Erfahrung, mit gelegentlichen, mitunter jahrzehntelangen Unterbrechungen. Kann mich noch dunkel an den TI58 bei der Bundeswehr Anfang der 1980er erinnern. Habe da mit "Mondlandung" viele Stunden der Heimatverteidung verbracht - Insider werden's kennen.
... wir hatten doch sonst nix!
Benutzeravatar
Bisonte
Beiträge: 2427
Registriert: 01.04.2007 20:18

Re: Zeitberechnungen

Beitrag von Bisonte »

Ja. Da intern mit Longs berechnet wird, ist 2037 Schluss.
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Benutzeravatar
mk-soft
Beiträge: 3695
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: Zeitberechnungen

Beitrag von mk-soft »

Unix Time Format...

Gibt aber ein paar Lösungen im Forum. Must mal suchen nach

Date64, DateX, DateQ, etc

Link: http://www.purebasic.fr/english/viewtop ... 12&t=68991
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
wie_jetzt?
Beiträge: 21
Registriert: 28.08.2017 17:23

Re: Zeitberechnungen

Beitrag von wie_jetzt? »

Hallo Allerseits!

Ja, wenn das so seine Richtigkeit hat, ist ja gut. Ich habe nur versucht, mein Proggi auf "unsinnige" Usereingaben zu testen und "nach 2036" ist's regelmäßig abgeschmiert. Ich gehe davon aus, dass es in 20 jahren eh' nicht mehr auf Windows(soundsoviel) laufen wird, also kann ich die Usereingaben auch auf 2037 begrenzen und gut ist.

Danke für die Infos
Was das Programmieren angeht, bin ich ein Anfänger mit fast 40 Jahren Erfahrung, mit gelegentlichen, mitunter jahrzehntelangen Unterbrechungen. Kann mich noch dunkel an den TI58 bei der Bundeswehr Anfang der 1980er erinnern. Habe da mit "Mondlandung" viele Stunden der Heimatverteidung verbracht - Insider werden's kennen.
... wir hatten doch sonst nix!
Benutzeravatar
juergenkulow
Beiträge: 188
Registriert: 22.12.2016 12:49
Wohnort: :D_üsseldorf-Wersten

Re: Zeitberechnungen

Beitrag von juergenkulow »

Code: Alles auswählen

; Date() Anzahl der Sekunden zwischen dem 01.01.1970 00:00:00 Uhr und der aktuellen Zeit
; vergleiche https://de.wikipedia.org/wiki/Schaltsekunde und https://de.wikipedia.org/wiki/Sommerzeit
Debug Date(1970, 1, 1, 0, 0, 2) ; 2
Debug Date(2012, 6,30,23,59,59) ;1341100799
Debug Date(2012, 6,30,23,59,60) ;-1  Schaltsekunde 
Debug Date(2012, 7, 1, 0, 0, 0) ;1341100800
Debug Date(2017, 3,26, 1,59,59) ;1490493599
Debug Date(2017, 3,26, 2, 0, 1) ;1490493601 Umstellung auf Sommerzeit am 26. März 2017 von 2 auf 3 Uhr. Diese Sekunde gab es nicht. 
Debug Date(2017, 3,26, 3, 0, 0) ;1490497200
Debug Date(2017,10,29,2, 0, 1) ; 1509242401 Diese Sekunde gab es 2 mal. Wie wird 2A von 2B Uhr unterschieden? 
Debug Date(2017,10,29,2,59,59) ; 1509245999 Umstellung auf Winterzeit 29. Oktober 2017 
Debug Date(2017,10,29,3, 0, 0) ;1509246000  
Debug Date(2017,10,29,4, 0, 0) ;1509249600
Debug Date(2038, 1,19,3,14, 7) ;2147483647 #MaxLONG
Debug Date(2038, 1,19,3,14, 8) ;-1 Alle Programmierer weltweit werden geweckt. 
; Kann QualitätsSoftware CalendarGadget, alle Date-Funktionen, DirectoryEntryDate, FTPDirectoryEntryDate, GetFileDate, SetFileDate verwenden?
Bitte stelle Deine Fragen, denn den Erkenntnisapparat einschalten entscheidet über das einzig bekannte Leben im Universum.

Jürgen Kulow Wersten :D_üsseldorf NRW D Europa Erde Sonnensystem Lokale_Flocke Lokale_Blase Orion-Arm
Milchstraße Lokale_Gruppe Virgo-Superhaufen Laniakea Sichtbares_Universum
Antworten