UNIX-Time
Verfasst: Do, 23. Jan 2020 17:12
Hat jemand eine Function um das Normale Datums- und Zeitformat in UNIX TIME umzuwandeln?
Das deutschsprachige Forum für Entwickler in der Xbase-Welt, ein Angebot des Deutschsprachige Xbase-Entwickler e. V.
https://xbaseforum.de/
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 )