På min weblog der huserer på URLen i signaturen, poster jeg indlæg der
bliver givet et unix timestamp med time().
Serveren står i USA (Michigan), hvorfor jeg har måtte lave nogle
krumspring for at få tidsstemplet til at spille som jeg ville have
det, nemlig at vise indlæg i dansk tid. Det ordnede jeg ved at lægge
de antal timer der nu er i tidsforskellen når jeg trak indlæggene ud
af databasen igen. Indlæggene i databasen havde altså et tidsstempel
der svarede til den lokale tid de blev lagt på serveren.
Tidsstemplet og indlæggets titel bruger jeg til at trække indlæg ud
af databasen med, f.eks giver:
<
http://verture.net/041201/whoosh,_what_a_>
Indlægget fra d. 04.12.01 med titlen 'Whoosh, what a ' og noget mere.
Jeg blev så anbefalet, at bruge:
putenv("TZ=CET");
for at komme udenom besværet med at lægge tid til datostemplet. Det
fungerer også godt nok, så længe indlægget ikke er postet mellem
midnat og klokken 06 om morgenen.
Det kan illustreres hvis man klikker på det ovenstående link, og jeg
kan ikke fatte det i mit hoved.
Det har tydeligvist noget med den tidszone det bliver postet i at
gøre.
Hvis jeg laver en strftime() på det unixtimestamp der hører til det
ovennævnte indlæg, får jeg en dato der hedder 03.12.01, men den
insisterer på at indlægget blev postet 04.12.01. Det eneste jeg gør
for at vise datoen er, at trække unixtimestampet ud af databasen.
Jeg forstår ikke noget, og efter denne noget rodede gennemgang er der
sikkert heller ikke nogen af jer der forstår noget (:
Hvis der er nogen der har en minimal idé om hvad jeg kan gøre for at
fikse det er de velkomne til at svare (:
--
| Jonas @ 55.75, 12.42 | <
http://verture.net/> |
"Great things are afoot!"