Avatar billede velle Nybegynder
25. september 2003 - 11:27 Der er 2 kommentarer og
1 løsning

Timestamp er en time forsinket, eller hvad?

Jeg har fundet noget der for mig forekommer helt forkert.

Jeg har altid troet at Unix Timestamp er det antal sekunder, der er gået siden midnat 1.jan 1970. Det lader også til at PHP har samme opfattelse bl.a. ud fra denne side http://dk.php.net/manual/en/function.time.php. Men når jeg eksperimenterer med de funktioner, der har med timestamps at gøre, får jeg det resultat, at det faktisk er antal sekunder siden 1.jan. 1970 kl. 01:00 AM.

Følgende kode viser at "hours" er 1.

<?PHP
$then = 0; // det timestamp, som burde være det "absolut første"
$thenarr = getdate($then);
foreach ($thenarr as $key => $value)
    echo $key." ".$value."<BR>";
?>

Man kunne tro at det er fordi den fortæller hvilken time "vi er i gang med" eller "vi har taget hul på", men ifølge dokumentationen spænder "hours" fra 0-23, hvilket også kan ses ved at lægge 23 timer til. Her ses, at 23 timer inde i 1970 er "hours" 0 og "yday" (dage inde i året) 2.

<?PHP
$then = 82800; // 23 timer inde i 1970, 60*60*23
$thenarr = getdate($then);
foreach ($thenarr as $key => $value)
    echo $key." ".$value."<BR>";
?>

Har jeg overset noget? Glemt at tage højde for noget? Er der tale om en bug (næppe)? Er dokumentationen forkert? Er midnight rent faktisk kl. 1:00 om morgenen i USA?

VH Velle
Avatar billede velle Nybegynder
25. september 2003 - 11:36 #1
En lille fejl i min beskrivelse: i eksempel 2 viser "yday" ikke 2, men 1. Jeg skulle have skrevet "mday" (day of month). Følgende skema viser hvad jeg mener:

key    yday    mday
eks1    0      1
eks2    1      2
Avatar billede tipsen Nybegynder
25. september 2003 - 13:58 #2
Det vil være oplagt at du har misset noget med sommertid (Daylight Savings Time) - det kunne give en forskel på en time og var vist ikke introduceret/opfundet tilbage i 1970!
Avatar billede velle Nybegynder
12. december 2004 - 23:18 #3
korrekt, pinligt, men må hellere lukke.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester