UNIX-Time
Moderator: Moderatoren
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2515
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: UNIX-Time
Hallo
Ich verwende oft diese.
Sie basiert auf einem Beitrag von Hubert hier im Forum. Es gäbe noch eine Variante mit API Calls ....
Das verhalten mit Sommer/Wintertzeit musst du noch überprüfen.
Ich verwende oft diese.
Sie basiert auf einem Beitrag von Hubert hier im Forum. Es gäbe noch eine Variante mit API Calls ....
Das verhalten mit Sommer/Wintertzeit musst du noch überprüfen.
Code: Alles auswählen
// ----------------------------------------------------------
// Aufruf:
// TimeStampUnix( nil, nil, .t. ) --> Timestamp aktuelles Datum und Zeit in milliSekunden
// TimeStampUnix( nil, nil, .f. ) --> Timestamp aktuelles Datum und Zeit in Sekunden
//
// xDatum = Datum als String 18.12.19 oder Datumswert
// xSeconds = Sekunden als String "12:01:59" oder Nummerischer Wert
function MakeUnixTimeStamp(xDatum,xSeconds,lmilliSec) // siehe v_vi11.prg // w_tools.prg
LOCAL dTestTag, nTage
LOCAL dUnixStart := ctod("01.01.1970")
LOCAL nUnixTimeStamp := 0
default lMilliSec to .t.
if xDatum = NIL
xDatum := date()
dTestTag := xDatum
elseif valtype(xDatum) = "C"
xDatum := ctod( xDatum )
endif
if xSeconds = NIL
xSeconds := seconds()
if date() <> dTestTag
xSeconds := 86399
endif
elseif valtype(xSeconds) = "C"
xSeconds := timetosec( xSeconds)
endif
xSeconds := int(xSeconds)
nTage := xDatum - dUnixStart
nUnixTimeStamp := int( nTage * 86400 + xSeconds )
if lMilliSec
nUnixTimeStamp := nUnixTimeStamp * 1000
endif
return( nUnixTimeStamp )
Valar Morghulis
Gruss Carlo
Gruss Carlo
Re: UNIX-Time
Danke Ramses!
Funktioniert sehr gut.
ich habe auch die Umkehrung daraus entwickkelt.
Wird für die TSE-kommunikation benötigt.
Funktioniert sehr gut.
ich habe auch die Umkehrung daraus entwickkelt.
Wird für die TSE-kommunikation benötigt.