30. april 2008 - 11:04Der er
13 kommentarer og 1 løsning
UNIX_TIMESTAMP viser forkert dato alt efter hvilket år man er i.
Hej,
Jeg har fået et lille problem, når jeg i min MySQL database indtaster datoen 1970-10-21 og gemmer og bagefter trækker det ud via PHP viser den datoen 20. oktober 1977 og ikke 21. oktober 1977, men hvis jeg skriver den samme dato bare i f.eks. 2008, vil den godt skrive 21. oktober 2008. Ved I evt, hvad det kan være? Min kode ser sådan her ud:
<?php setlocale (LC_TIME, 'danish'); $rows = mysql_query("SELECT dvd_film_ID, Original_Titel, Dansk_Titel, Billedeformat, Filmselskab, Lydformat, Kategori, Regionskode, UNIX_TIMESTAMP(DVD_Premieredato) AS unixDato_dvd, UNIX_TIMESTAMP(Bio_Premieredato) AS unixDato_bio, Produktionsaar, Spilletid FROM alle_dvd_film WHERE dvd_film_ID='$dvd_film_ID'");
Jeg har lige prøvet at rette datoen i databasen til 1977-10-22 og når jeg skal vise den i PHP skriver den 21. oktober 1977, den er lige en dag bagud i PHP
Der hvor jeg har min hjemmeside er hos www.needhost.dk, men det underlige er at den også gør det når jeg køre det på min egen webserver på min hjemmecomputer.. Årsagen til at jeg skulle bruge timestamp er at jeg godt kunne tænke mig at når jeg trak datoen ud af databasen så skulle den se sådan her ud f.eks. 2. maj 2008, men inde i databasen står den til 2008-05-02 og jeg har sat datatypen til DATE
Men man behøver så heller ikke bruge strftime() - jeg plejer at lave en passende split på datoen '2008-xx-xx xx:xx:xx' og selv bestemme hvordan den udskrives. unixtimestamp kan indeholde små, meget underholdende, og lettere tidskrævende overraskelser.
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.