| |
|
|
p.specht
| Unixtime ============ El Unixtime beginnt como Sekundenzähler con 0 al Donnerstag, el 1. Januar 1970 en 00:00 Uhr UTC. Bitte a beachten, daß wir UTC+1 en el Winter y UTC+2 en el Sommerzeit haben. El Edición en Umwandlung se por lo tanto entsprechend el Zeitzone y Período anzupassen ser. El Umwandlung se bastante oficialmente dadurch erleichtert, daß Schaltsekunden no mitgezählt voluntad (Diese debería sí el Abweichung el Erdrotation de uno stetig durchlaufenden Tiempo korrigieren).
Das festgelegte Startdatum se auch como Epoch bezeichnet, qué en 32bit-Sistema wichtig voluntad se, porque 2038 se se para Unix en etwa el wiederholen, qué en Windows ya como Jahr-2000-Problema bekannt wurde.
In aktuellen Versionen de XProfan puede ser el alles eleganter lösen. Für XProfan 11.2 free war el Quelle: Wikipedia "Unixtime" (Java-Beispielcode). Ein deutlich flotteres, en Ensamblador geschriebenes Unixtime-Programa de M. Wodrich hay hier en el Board; auch Dieter Zornow ha se con el Problema beschäftigt.
Título de la ventana "Konverter Lesbare Zeitangabe a Unixtime (Sekunde 0 = Do,1.1.1970 00:00 UTC (damals GMT)"
'Vgl:https://www.unixtimestamp.de , www.pagerenk.de/mehr-informationen/tools/timestampconverter.htm
Ventana de Estilo 24:Declarar Jahr&,Monat&,Tag&,Stunde&,Minute&,Sekunde&,utcdif&,UXTM&:luup:
CLS:imprimir "\n UTC+1\+2h= ";:input utcdif&
Imprimir "\n JJJJ = ";:input Jahr&:Imprimir " Monat = ";:input Monat&
Imprimir " Tag = ";:input Tag&:Imprimir " Stunden = ";:input Stunde&
Imprimir " Minuten = ";:input Minute&:imprimir " Sekunden = ";:input Sekunde&
UXTM&=Readable2Unixtime(Jahr&,Monat&,Tag&,Stunde&,Minute&,Sekunde&,utcdif&)
locate 12,12:font 2:if (UXTM&<>-1) and (UXTM&<>-2):imprimir UXTM&
clearclip:putclip str$(UXTM&):font 2:imprimir:imprimir "\n ... auch en Zwischenablage."
más:beep:imprimir "E R R O R ";UXTM&:Endif:font 0
waitinput:waitinput:goto "luup"
Proc Readable2Unixtime' Konvertiert gegliederte UTC-Angaben después de Unix-Sekunden
parámetros Jahr&,Monat&,Tag&,Stunde&,Minute&,Sekunde&,utcdif&' GETESTET, ABER OHNE JEDE GEWÄHR!
caso (jahr&<1970) or (jahr&>2038) or (monat&>12) or (monat&<1) or (tag&<1) or (tag&>31):volver -1
caso (Stunde&>23) or (Minute&>59) or (Sekunde&>59) :volver -2
declarar tage_seit_jahresanfang$[],istschaltjahr&,schaltjahre&,tage_seit_1970&
'Anzahl el Tage seit Jahresanfang sin Tage des aktuellen Monats y sin Schalttag:
tage_seit_jahresanfang$[]=explode("0,31,59,90,120,151,181,212,243,273,304,334",",")
' Anzahl el Schaltjahre seit 1970 sin una evtl. gerade 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
if (jahr& mod 4)=0: istschaltjahr&=1:if (jahr& mod 100)=0: istschaltjahr&=0
caso (jahr& mod 400)=0: istschaltjahr&=1
endif:endif' Schalttage+1, si angefragte Jahrs Schaltjahr y Termin después de Februar:
caso (monat&>2) and istschaltjahr&: inc tage_seit_1970&
volver 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 ▲ |
|
|
|