Trädvy Permalänk
Medlem
Plats
London
Registrerad
Jul 2003

enkelt php problem? (datum)

Hejsan har problem med att det korekta datumet inte kommer ut,allt annat funkar perfekt

echo date("d, D M Y h:i A", $row['fixdate']); echo "<br />";

Detta datumet kommer ut:
01, Thu Jan 1970 01:33 AM

vilket inte stämmer...

Vad är det för fel på mitt script?

Jätte tacksam för hjälp.

Mvh

J

AMD OPTERON athlon 3800 x2. DFI LANPARTY nforce 4ULTRA D, 2x1 gig twinmos Chassi Themlake 3,3| GC = Powercoler x850 XT Vivo, Logitech G15, Aiwa surround System, NEC DVD Burner, 1 x 1 x 200 gig 1x500 gigmaxtor SATA 1, 1 x180 gig Western Digital 1x320 western

Trädvy Permalänk
Medlem
Registrerad
Jan 2008
Trädvy Permalänk
Medlem
Plats
London
Registrerad
Jul 2003
Citat:

Ursprungligen inskrivet av Elactos
http://se.php.net/manual/en/function.date.php

jo tack det var det jag baserade min kod på:

echo "<br />"; echo "<span><b>". $row['fixteam1'] . " (" . $row['fixscore1'] . " - " . $row['fixscore2'] .") ". $row['fixteam2'] ."</b></span>\n"; echo "<br />"; echo date("d, D M Y h:i A", $row['fixdate']); echo "<br />";

men kan ej se vad jag gjort för fel?

echo date("d, D M Y h:i A", $row['fixdate']);

AMD OPTERON athlon 3800 x2. DFI LANPARTY nforce 4ULTRA D, 2x1 gig twinmos Chassi Themlake 3,3| GC = Powercoler x850 XT Vivo, Logitech G15, Aiwa surround System, NEC DVD Burner, 1 x 1 x 200 gig 1x500 gigmaxtor SATA 1, 1 x180 gig Western Digital 1x320 western

Trädvy Permalänk
Medlem
Plats
Västerås
Registrerad
Maj 2007

Ett tips för att leta reda på var felet ligger är att skriva

echo date("d, D M Y h:i A", time());

Om dagens datum kommer upp så vet du att det är $row['fixdate'] som innehåller fel datum. (Jag testade även själv och date() funkar som det ska. Det är helt enkelt så att $row['fixdate'] inte innehåller ett Unix-timestamp).

Trädvy Permalänk
Medlem
Plats
London
Registrerad
Jul 2003
Citat:

Ursprungligen inskrivet av Dynamo
Ett tips för att leta reda på var felet ligger är att skriva

echo date("d, D M Y h:i A", time());

Om dagens datum kommer upp så vet du att det är $row['fixdate'] som innehåller fel datum. (Jag testade även själv och date() funkar som det ska. Det är helt enkelt så att $row['fixdate'] inte innehåller ett Unix-timestamp).

ok tack så mycket,
det förklar saken.

Men hur sätter jag unix timestamp i MySql (windows version). Är för tillfället satt till timestamp.

Testar nämligen på en windows version. Men kommer uppladas på en Linux box med unix timestamp.

AMD OPTERON athlon 3800 x2. DFI LANPARTY nforce 4ULTRA D, 2x1 gig twinmos Chassi Themlake 3,3| GC = Powercoler x850 XT Vivo, Logitech G15, Aiwa surround System, NEC DVD Burner, 1 x 1 x 200 gig 1x500 gigmaxtor SATA 1, 1 x180 gig Western Digital 1x320 western

Trädvy Permalänk
Medlem
Plats
Västerås
Registrerad
Maj 2007

Om du antingen kan du sätta det genom mysql inbyggda funktion UNIX_TIMESTAMP()

INSERT INTO table_name (time_column_name) VALUES (UNIX_TIMESTAMP())

Om du vill skicka in ett datum kan du läsa mer om funtionen här:
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-function...

Du kan såklart använda dig av php också och då rekomenderar jag time() eller mktime()

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Maj 2009

Det finns även en chans att din server har fel tid. Om du dock är säker på att den inte har fel så beror det kanske på strukturkrock.

Det är bättre att fråga och uppfattas som dum för stunden än att förbli dum.

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Aug 2004

Enklast är att använda dig av UNIX_TIMESTAMP när du hämtar din data. Så här till exempel:

$query = 'SELECT UNIX_TIMESTAMP( apa.fixdate ) as date FROM apa';

Edit: eller så använder du dig av funktionen när du sätter in datan, som Dynamo skriver.

Trädvy Permalänk
Medlem
Plats
London
Registrerad
Jul 2003

ok, tack så mycket för hjälpen.

AMD OPTERON athlon 3800 x2. DFI LANPARTY nforce 4ULTRA D, 2x1 gig twinmos Chassi Themlake 3,3| GC = Powercoler x850 XT Vivo, Logitech G15, Aiwa surround System, NEC DVD Burner, 1 x 1 x 200 gig 1x500 gigmaxtor SATA 1, 1 x180 gig Western Digital 1x320 western