Avatar billede cow-tilter Nybegynder
29. august 2006 - 19:45 Der er 10 kommentarer og
1 løsning

Formatering af MySQLs timestamp

Jeg har en side med en nyhedsoversigt, hvor der indsættes en timestamp i databasen når en post gemmes. Det er mysqls timestamp der indsættes. Problemet er så at få det formateret så det står rigtigt på siden. Som det er nu står der
31-01-2038
Kl.04:14

Jeg kunne forestille mig at det er fordi den prøver at formatere det som unix timestamp. Hvordan skal jeg helt præcis gribe det an?
Tillægsspørgsmål:
Hvordan får jeg måneden lavet om til januar i stedet for 01?
Avatar billede shooka Nybegynder
29. august 2006 - 19:50 #1
Du kunne jo bruge varchar i stedet for timestamp. Så skal du bare indsætte datoen samtidigt med nyhederne ;)
Avatar billede shooka Nybegynder
29. august 2006 - 19:55 #2
list($dato, $tid)=explode(" ", $timestamp);
list($yyyy, $mm, $dd)=explode("-", $dato);
echo $dd."/".$mm."-".$yyyy;
Avatar billede shooka Nybegynder
29. august 2006 - 19:55 #3
list($dato, $tid)=explode(" ", $timestamp);
list($yyyy, $mm, $dd)=explode("-", $dato);
echo $dd."/".$mm."-".$yyyy." ".$tid;

Så er tiden med :D
Avatar billede shooka Nybegynder
29. august 2006 - 20:39 #4
if($mm == "01")
{
$mm = "januar";
}
else if($mm == "02")
{
$mm = "februar";
}
else if($mm == "03")
{
$mm = "marts";
}
else if($mm == "04")
{
$mm = "april";
}
else if($mm == "05")
{
$mm = "maj";
}
else if($mm == "06")
{
$mm = "juni";
}
else if($mm == "07")
{
$mm = "juli";
}
else if($mm == "08")
{
$mm = "august";
}
else if($mm == "09")
{
$mm = "september";
}
else if($mm == "10")
{
$mm = "oktober";
}
else if($mm == "11")
{
$mm = "november";
}
else if($mm == "12")
{
$mm = "december";
}
echo $mm;

Hvis $mm = 01, så udskriver den januar
Avatar billede shooka Nybegynder
29. august 2006 - 21:52 #5
Hvis du på et tidspunkt skulle komme igen, så er her et svar.
Avatar billede showsource Seniormester
29. august 2006 - 22:28 #6
umiddelbart, er det fjollet at bruge PHP til at "formatere" til det ønskede datoformat.
Hvis du gemmer dato som DATETIME eller DATE kan du bruge mysql's tid-funktioner:
http://dev.mysql.com/doc/refman/4.1/en/date-and-time-functions.html
Avatar billede shooka Nybegynder
29. august 2006 - 22:56 #7
Det var faktisk en nyttig side :-)
Avatar billede cow-tilter Nybegynder
30. august 2006 - 19:05 #8
Ok, jeg bruger mysql's formatering. Jeg benytter, at jeg kan skrive måneden ved navn, hvilket så bliver engelsk. Skal jeg ændre på strengen efterfølgende (a la det du foreslår i starten) for at få det ændret til dansk eller har mysql også en fifi løsning til det?
Avatar billede cow-tilter Nybegynder
30. august 2006 - 19:08 #9
Hvis jeg skal ændre på strengen, skal jeg vel gøre lige præcis det du foreslår :)
Avatar billede shooka Nybegynder
31. august 2006 - 14:54 #10
Jeg ville stadig bruge den løsning jeg kommer med. Det ser måske lidt mere uoverskueligt ud, og er måske også en smule langsommere, men jeg ville stadig bruge den.
Avatar billede cow-tilter Nybegynder
31. august 2006 - 17:22 #11
Ok. Mange tak, det vari hvertfald noget jeg kunne bruge, specielt mysql siden. Meget lærerig
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