| |
|
|
p.specht
| Unixtime ============ qui Unixtime beginnt comme Sekundenzähler avec 0 am jeudi, dem 1. janvier 1970 um 00:00 montre UTC. s'il te plaît trop tenir compte de, qui wir UTC+1 im Winter et UTC+2 dans qui Sommerzeit avons. qui Ausgabe chez qui Umwandlung wird daher entsprechend qui Zeitzone et période anzupassen son. qui Umwandlung wird entier officiel dadurch erleichtert, qui Schaltsekunden pas mitgezählt volonté (cet devoir oui qui Abweichung qui Erdrotation de einer stetig durchlaufenden Zeit korrigieren).
cela festgelegte Startdatum wird aussi comme Epoch bezeichnet, quoi chez 32bit-System important volonté wird, car 2038 wird sich pour Unix dans etwa cela wiederholen, quoi chez Windows déjà comme l'an-2000-Problem bekannt wurde.
dans aktuellen Versionen de XProfan peux on cela alles eleganter lösen. Pour XProfan 11.2 free était qui source: Wikipedia "Unixtime" (Java-Beispielcode). un deutlich flotteres, dans Assembler geschriebenes Unixtime-Programme de M. Wodrich gibt es ici im Board; aussi Dieter Zornow hat sich avec dem Problem beschäftigt.
Titre de la fenêtre "Konverter Lesbare Zeitangabe trop Unixtime (seconde 0 = Do,1.1.1970 00:00 UTC (autrefois GMT)"
'Vgl:https://www.unixtimestamp.de , www.pagerenk.de/plus-informationen/tools/timestampconverter.htm
Fenêtre Style 24:Déclarer Jahr&,Monat&,Tag&,Stunde&,Minute&,Sekunde&,utcdif&,UXTM&:luup:
CLS:imprimer "\n UTC+1\+2h= ";:input utcdif&
Imprimer "\n JJJJ = ";:input Jahr&:Imprimer " mois = ";:input Monat&
Imprimer " journée = ";:input Tag&:Imprimer " Stunden = ";:input Stunde&
Imprimer " Minuten = ";:input Minute&:imprimer " Sekunden = ";:input Sekunde&
UXTM&=Readable2Unixtime(Jahr&,Monat&,Tag&,Stunde&,Minute&,Sekunde&,utcdif&)
locate 12,12:font 2:si (UXTM&<>-1) and (UXTM&<>-2):imprimer UXTM&
clearclip:putclip str$(UXTM&):font 2:imprimer:imprimer "\n ... aussi dans Zwischenablage."
d'autre:beep:imprimer "E R R O R ";UXTM&:Endif:font 0
waitinput:waitinput:goto "luup"
Proc Readable2Unixtime' Konvertiert gegliederte UTC-Angaben pour Unix-Sekunden
parameters Jahr&,Monat&,Tag&,Stunde&,Minute&,Sekunde&,utcdif&' GETESTET, ABER OHNE JEDE GEWÄHR!
cas (jahr&<1970) or (jahr&>2038) or (monat&>12) or (monat&<1) or (tag&<1) or (tag&>31):return -1
cas (Stunde&>23) or (Minute&>59) or (Sekunde&>59) :return -2
declare tage_seit_jahresanfang$[],istschaltjahr&,schaltjahre&,tage_seit_1970&
'Nombre de Tage depuis Jahresanfang sans Tage des aktuellen Monats et sans Schalttag:
tage_seit_jahresanfang$[]=explode("0,31,59,90,120,151,181,212,243,273,304,334",»)
' Nombre de Schaltjahre depuis 1970 sans un peut-être. justement laufendes Schaltjahr
schaltjahre& = ((jahr&-1)-1968)/4 - ((jahr&-1)-1900)/100 + ((jahr&-1)-1600)/400
tage_seit_1970&=(jahr&-1970)*365+schaltjahre&+val(tage_seit_jahresanfang$[monat&-1])+tag&-1
si (jahr& mod 4)=0: istschaltjahr&=1:si (jahr& mod 100)=0: istschaltjahr&=0
cas (jahr& mod 400)=0: istschaltjahr&=1
endif:endif' Schalttage+1, si angefragte Jahrs Schaltjahr et Termin pour février:
cas (monat&>2) and istschaltjahr&: inc tage_seit_1970&
return int(sekunde&+60*(minute&+60*(stunde&+24*tage_seit_1970&))-utcdif&*3600)
endproc
|
|
|
| XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 20.05.2021 ▲ |
|
|
|