← Back to team overview

sslug-teknik team mailing list archive

Negative unix timestamps

 

Jeg har lidt svært ved at gennemskue problematikken omkring negative unix 
timestamps. Jeg skulle bruge nogle unix timestamps for datoer før 1970 her 
for nyligt, og fandt ud af, at det kunne min php ikke finde ud af. Lidt 
hurtig research viser, at det er glibc funktionen mktime(), der ikke kan 
finde ud af årstal før 1970.

Lidt mere søgning på internettet viste mig så et debat indlæg, der siger, at 
tidspunkter før 1970 er udefineret i henhold til Posix standarden, at gamle 
glibc'ere godt kunne returnere negative unix timestamps men at det er slået 
fra i de nyere. Hmm...

Eftersom Posix standarden ikke håndterer skudsekunder og derfor, såvidt jeg 
forstår, alligevel ikke bliver overholdt, og eftersom at den praktiske 
værdi af håndtering af negative unix timestamps er stor, undrer mig det 
mig, at man har slået negative unix timestamps fra i glibc's mktime() 
funktion.

Er der nogen her, som kan uddybe problematikken, og evt. angive nogle 
alternativer til glibc's mktime(), der gør det muligt at bruge en 
sekund-baseret tidsregning før 1970?

Hilsen,

Lars.

-- 
Dybdahl Engineering
Telefon 70201241




Follow ups