Hi,
gibt es einen Weg mit Platforminfo die Systemzeit auch in Sekunden raus zu bekommen?
Und zwar w?re mir wichtig, da? ich die gesamte Zahl raus bekomme! Damit kann ich einfacher rechnen, bevor ich Datum usw. in Sekunden umrechnen mu?...
Gru?
W.
Habs jez nicht im kopf, aber prinzipiell:
-> 'platforminfo$' zeit holen
-> mit 'SPLITSTR' zerlegen
-> ne kleine formel tippen die die einzelnen Teile alle auf sekunden umrechnet
D?rfte nicht allzu schwer sein ;)
Gru?
Tenorm
Soweit bin ich ja auch schon!
Aber wo beginnt man, wenn man die Tage bzw. Monate richtig umrechnet (28 Tage, 30 Tage, 31 Tage, Schaltjahr, usw.) ???
Monate sind noch einfach, es gibt ja nur 12 -> Tabelle. F?r Schaltjahre gibts sicher auch feste Regeln.
Wie weit musst du denn in die Vergangenheit zur?ck? Vieleicht gen?gt es, die Differenz zu einem relativ nahen Datum in der Vergangenheit (z.B. 01.01.2009) zu bilden?
Gr??e, Tiuz.
Ist gar keine ?ble Idee! Ich rechne einfach ab 01.01.2009.
Die Schaltjahre bekommt man ja relativ leicht raus (mit MOD) und den Rest kann ich ziemlich einfach errechnen!
Stelle heute Abend ein kleines Beispiel online!!!
http://de.wikipedia.org/wiki/Wochentagsberechnung (http://de.wikipedia.org/wiki/Wochentagsberechnung)
hehehe :good:
Danke, Gernot, das hilft!!!!
EDIT:
Hier habe ich die 1. L?sung! Nicht sehr elegant gel?st, aber sie scheint zu funktionieren! Schaut sie euch mal durch! Sch?nheitskorrekturen k?nnen wir danach immer noch machen:
LOCAL tage, sekunden
tage = zeit_datum()
WHILE TRUE
sekunden = zeit_sek()
PRINT tage, 0, 0
PRINT sekunden, 0, 20
PRINT tage * 86400 + sekunden, 0, 60
SHOWSCREEN
WEND
FUNCTION zeit_sek:
LOCAL jetzt$, stunde_now$, minute_now$, sekunde_now$, sekunde
LOCAL stunde_now, minute_now, sekunde_now
jetzt$ = PLATFORMINFO$("time")
stunde_now$ = MID$(jetzt$, 11, 2)
minute_now$ = MID$(jetzt$, 14, 2)
sekunde_now$ = MID$(jetzt$, 17, 2)
stunde_now = stunde_now$
minute_now = minute_now$
sekunde_now = sekunde_now$
sekunde = stunde_now * 3600
sekunde = sekunde + minute_now * 60
sekunde = sekunde + sekunde_now
RETURN sekunde
ENDFUNCTION
FUNCTION zeit_datum:
LOCAL monat[], jetzt$, jahr_now$, monat_now$, tag_now$
LOCAL jahr_now, jahr_anzahl, monat_now, monat_anzahl, tmp, tage, tage_now, jahr_rest
jetzt$ = PLATFORMINFO$("time")
jahr_now$ = MID$(jetzt$, 0, 4)
monat_now$ = MID$(jetzt$, 5, 2)
tag_now$ = MID$(jetzt$, 8, 2)
DIM monat[12]
monat[0] = 31
monat[1] = 28
monat[2] = 31
monat[3] = 30
monat[4] = 31
monat[5] = 30
monat[6] = 31
monat[7] = 31
monat[8] = 30
monat[9] = 31
monat[10] = 30
monat[11] = 31
jahr_now = jahr_now$
monat_now = monat_now$
jahr_anzahl = jahr_now - 2009
monat_anzahl = monat_now
tage_now = tag_now$
IF jahr_anzahl > 0
FOR tmp = 0 TO jahr_anzahl - 1
jahr_rest = MOD(2009 + tmp, 4)
IF jahr_rest = 0
tage = tage + 366
ELSE
tage = tage + 365
ENDIF
NEXT
ENDIF
FOR tmp = 1 TO monat_anzahl - 1
IF tmp <> 2
tage = tage + monat[tmp - 1]
ENDIF
IF tmp = 2
jahr_rest = MOD(jahr_now, 4)
IF jahr_rest = 0
tage = tage + monat[tmp - 1] + 1
ELSE
tage = tage + monat[tmp - 1]
ENDIF
ENDIF
NEXT
tage = tage + tage_now
RETURN tage
ENDFUNCTION
PS.: Die *.gbas hab ich nochmal drunter!
[attachment deleted by admin]