Avatar billede dotcom1 Nybegynder
11. november 2005 - 16:34 Der er 13 kommentarer og
1 løsning

Dansk datoformat i MySQL-query

Hej.

Jeg har denne query:

$database->setQuery( "SELECT `name`,`comment`,`from`,date_format(`date`,'%M %d, %Y') as `datestr` FROM #__guestbook"
        . "\nWHERE `published`=1"
        . "\nORDER BY `date` DESC"
        . "\nLIMIT $limitstart, $limit"
    );
    $rows = $database->loadObjectList();

Men jeg vil gerne have datoen i dansk datoformat, altså v.h.a. setlocale(LC_ALL, 'da_DK.ISO_8859-1'); og strftime() i formatet "%e. %B %Y". Men hvordan sættes det ind i den eksisterende kode?

Mvh.
Avatar billede dotcom1 Nybegynder
11. november 2005 - 16:36 #1
Glemte at sige at datoen lige nu returneres sådan: <?php echo $row->datestr; ?>
Avatar billede hmortensen Nybegynder
11. november 2005 - 18:27 #2
Træk feltet ud uden date_format() og kør datoen gennem strtotime(), og du har et timestamp.
Avatar billede dotcom1 Nybegynder
11. november 2005 - 18:32 #3
Det er du nødt til at skære ud i pap. Hvordan skal det se ud? :)
Avatar billede hmortensen Nybegynder
11. november 2005 - 18:42 #4
"SELECT `name`,`comment`,`from`,`date` FROM #__guestbook"

$dato = strotime($row->date);
echo strftime("%e. %B %Y", $dato);
Avatar billede dotcom1 Nybegynder
11. november 2005 - 19:53 #5
Det giver datoen 1. januar 1970. Er det ikke noget Unix-noget?
Avatar billede webstuff Nybegynder
11. november 2005 - 23:00 #6
prøv med det her i stedet
$dato = strotime($row->date);
echo strftime("%d/%m-%y", $dato);

så skriver den f.eks 07/09-05 hvis du vil have den til at skriver 2005 ændrer du bare %y til %Y
Avatar billede webstuff Nybegynder
11. november 2005 - 23:01 #7
hovsa... tror måske jeg har misforstået dit spørgsmål...
Avatar billede dotcom1 Nybegynder
11. november 2005 - 23:05 #8
Hmm, ja, formatet fra min sidste post var korrekt nok, men det er datoen ikke...
Avatar billede hmortensen Nybegynder
12. november 2005 - 08:55 #9
Hvad type er datoen i tabellen ?
Avatar billede dotcom1 Nybegynder
12. november 2005 - 12:33 #10
Avatar billede hmortensen Nybegynder
12. november 2005 - 12:40 #11
Så skal det også virke.

Du har rettet strotime() til strtotime() ?
Avatar billede dotcom1 Nybegynder
12. november 2005 - 12:45 #12
Yes, så virker det. Nej, havde rettet det til strftime() hvilket var noget vrøvl.
Men tusind tak for din hjælp. Læg et svar. :)
Avatar billede hmortensen Nybegynder
12. november 2005 - 13:22 #13
Ah, så forstår jeg hvorfor det gik galt.
Havde da skrevet det rigtigt i først kommentar ;)

Du kan læse lidt om strtotime() http://dk2.php.net/strtotime

Det er en meget poverfuld funtion til dato behandling.
Avatar billede dotcom1 Nybegynder
12. november 2005 - 13:25 #14
Takker mange gange. :)
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