Avatar billede tommytot Nybegynder
11. oktober 2004 - 14:17 Der er 13 kommentarer og
1 løsning

dag-månede-år fra database, skrives ud på dansk

Hvordan skriver jeg en dato (database kald) ud på dansk?

echo date("W, D, d-M|Y", strtotime($row_event['dato']));

D og M skulle gerne skrives ud på dansk...
Avatar billede tommytot Nybegynder
11. oktober 2004 - 14:19 #1
Avatar billede hmortensen Nybegynder
11. oktober 2004 - 14:35 #2
Prøv at kigge lidt på det her:
<?php
$maaned_arr = array("Januar", "Febuar", "Marts", "April", "Maj", "Juni", "Juli", "August", "Septemper", "Oktober", "November", "December");
$dag_arr = array("Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag");
$maaned = date("n", time())-1;
$dag = date("w", time());

echo $maaned_arr[$maaned]." - ".$dag_arr[$dag];
?>
Avatar billede avminarm Juniormester
11. oktober 2004 - 14:37 #3
du er nød til at lave et array der indeholde de danske navne - du kan se hvordan i dette script - kig i kildekoden efter dkmdr:

http://wagners.users.whitehat.dk/kalender/calender.php
Avatar billede tommytot Nybegynder
11. oktober 2004 - 14:43 #4
Jeg kigger på det... takker...
Avatar billede hmortensen Nybegynder
11. oktober 2004 - 15:09 #5
Så din må blive noget i den her retning (der er nok lidt trykfejl):

$maaned_arr = array("Januar", "Febuar", "Marts", "April", "Maj", "Juni", "Juli", "August", "Septemper", "Oktober", "November", "December");
$dag_arr = array("Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag");

$timestamp = strtotime($row_event['dato']);

$maaned = date("n", $timestamp)-1;
$dag = date("w", $timestamp);

$dato = date("W", $timestamp).", ".$maaned_arr[$maaned].", ".date("d", $timestamp)."-".$dag_arr[$dag]."|".date("Y", $timestamp);

echo $dato;
Avatar billede soccerdad Nybegynder
11. oktober 2004 - 15:35 #6
Prøv at definere dit land med:

setlocale(LC_ALL, 'da_DK');

Så slipper du for alt det andet gøgl. Læs mere på php.net
http://dk2.php.net/manual/en/function.setlocale.php
Avatar billede coderdk Praktikant
11. oktober 2004 - 16:51 #7
soccerdad's svar er bedst ;)
Avatar billede hmortensen Nybegynder
11. oktober 2004 - 17:54 #8
Jeg har endnu aldrig set at setlocale() kan skrive danske måneder og ugedage.
Avatar billede hmortensen Nybegynder
11. oktober 2004 - 18:00 #9
Nevermind, skal bare ikke bruges sammen med date()
Avatar billede tommytot Nybegynder
11. oktober 2004 - 18:02 #10
hindu_skp, du skal lige lave et svar, i stedet for en kommentar, jeg har brugt dit bud på problemet, så det skal jo selvfølgelig belønnes. :-)

setlocale(LC_ALL, 'da_DK');

Fik jeg ikke til at virke!!
Avatar billede soccerdad Nybegynder
11. oktober 2004 - 18:08 #11
Hvis din server kører FreeBSD, kan du prøve med:

setlocale(LC_ALL, 'da_DK.ISO8859-1');

I Windows verdenen er det andre strenge, man skal bruge, fx. "dan" eller "danish". Det er en klar fordel at bruge setlocale(), hvis man skal bruge formatteringen andre steder i sin kode eller blot kan li' enkle løsninger. ;-)
Avatar billede hmortensen Nybegynder
11. oktober 2004 - 18:13 #12
Jeg kan da godt smide et svar, hvis du har brugt min løsning, men strftime() er da langt smartere
Avatar billede coderdk Praktikant
11. oktober 2004 - 20:11 #13
Prøv for sjov dette:

  setlocale( LC_TIME, "da_DK", "da_DK.ISO8859-1", "dan", "danish" );
  echo strftime( "%A den %e. %B %Y" );

Det skulle meget gerne give dig noget på dansk ;)
Avatar billede tommytot Nybegynder
12. oktober 2004 - 13:45 #14
Jeg må desværre, stadig konstatere at setlocale ikke virker, jeg havde selv roddet en del med den inden dette indlæg, og dine foreslag virker desværre ikke :-(
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