Avatar billede dennism Nybegynder
30. oktober 2007 - 18:18 Der er 24 kommentarer og
1 løsning

PHP: dansk date

Date-funktionen udskriver datoer på engelsk. Er det muligt at opsætte php på serveren, så det bliver udskrevet med danske måneder, ugedage mm.?
Avatar billede w13 Novice
30. oktober 2007 - 18:20 #1
Nu er jeg ikke meget inde i PHP, men dette korte eksempel kunne godt se ud til at gøre tricket: http://www.sourcerally.net/Scripts/36-setlocale-danish
Avatar billede jakobdo Ekspert
30. oktober 2007 - 18:35 #2
Du skal bruge setlocale() og strftime()
Avatar billede matz Nybegynder
30. oktober 2007 - 21:39 #3
Kig her og se parameterne for måned, uge & tid...
http://dk2.php.net/manual/da/function.strftime.php

Et eksempel:

<?php setlocale(LC_TIME, "Danish");
    echo strftime(Formatering, Dit udtræk); ?>
Avatar billede dennism Nybegynder
05. november 2007 - 22:08 #4
Jeg prøvet at køre dette:
<?php
setlocale(LC_TIME, "C");
echo strftime("%A");
setlocale(LC_TIME, "fi_FI");
echo strftime(" in Finnish is %A,");
setlocale(LC_TIME, "fr_FR");
echo strftime(" in French %A and");
setlocale(LC_TIME, "de_DE");
echo strftime(" in German %A.\n");
?>

Men får bare dette:
Monday in Finnish is Monday, in French Monday and in German Monday.

Hvordan kan det være, at den ikke skifter location?
Avatar billede jakobdo Ekspert
06. november 2007 - 08:02 #5
Har du din egen server?
Avatar billede dennism Nybegynder
06. november 2007 - 15:28 #6
Ja, det har jeg.. Er der noget jeg skal ændre i opsætningen?
Avatar billede jakobdo Ekspert
06. november 2007 - 15:53 #7
Hvilken server?
Linux, windows?
Iis, apache?
Avatar billede dennism Nybegynder
06. november 2007 - 15:56 #8
Linux med Apache..
Avatar billede jakobdo Ekspert
06. november 2007 - 16:04 #9
Prøv at skriv:
locale -a | grep da

Og se hvad du får tilbage?
Avatar billede dennism Nybegynder
06. november 2007 - 16:51 #10
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
Avatar billede jakobdo Ekspert
06. november 2007 - 17:15 #11
Det ligner et configuration-problem på din server så.
Hvilken distribution kører du med?
Avatar billede dennism Nybegynder
06. november 2007 - 17:34 #12
Jeg kører på Debian.
Avatar billede jakobdo Ekspert
06. november 2007 - 18:47 #13
Avatar billede dennism Nybegynder
06. november 2007 - 21:31 #14
Kan du samtidig forklare hvordan det virker i Ubuntu? Det er mine test-server, så vil lige forsøge det på den først.
Avatar billede jakobdo Ekspert
06. november 2007 - 21:41 #15
Prøv at skriv locale på den, hvad siger den så?
Avatar billede dennism Nybegynder
06. november 2007 - 22:15 #16
Så får jeg dette:

LANG=en_DK.UTF-8
LC_CTYPE="en_DK.UTF-8"
LC_NUMERIC="en_DK.UTF-8"
LC_TIME="en_DK.UTF-8"
LC_COLLATE="en_DK.UTF-8"
LC_MONETARY="en_DK.UTF-8"
LC_MESSAGES="en_DK.UTF-8"
LC_PAPER="en_DK.UTF-8"
LC_NAME="en_DK.UTF-8"
LC_ADDRESS="en_DK.UTF-8"
LC_TELEPHONE="en_DK.UTF-8"
LC_MEASUREMENT="en_DK.UTF-8"
LC_IDENTIFICATION="en_DK.UTF-8"
LC_ALL=
Avatar billede dennism Nybegynder
06. november 2007 - 22:15 #17
Jeg mangler altså da_DK locale. ikke? Hvordan kan jeg installere det?
Avatar billede jakobdo Ekspert
07. november 2007 - 07:45 #18
Og hvis du skrev: locale -a | grep da ??
Avatar billede dennism Nybegynder
07. november 2007 - 17:30 #19
Det hjælper ikke..
Jeg har denne lille kode:
<?php
setlocale(LC_TIME, "da_DK");
echo strftime("%A");
?>

Og den giver:
Wednesday

:(
Avatar billede jakobdo Ekspert
07. november 2007 - 17:33 #20
prøv: setlocale(LC_TIME, "danish");
Avatar billede dennism Nybegynder
08. november 2007 - 12:10 #21
Den giver stadig Wednesday. Som sagt så er det en Ubuntu jeg prøver på :(
Avatar billede dennism Nybegynder
11. november 2007 - 11:57 #22
Skal vi lukke her? Du må gerne smide et svar.
Avatar billede jakobdo Ekspert
11. november 2007 - 18:54 #23
Jeg kan godt smide et svar.
Men fandt du en løsning?
Avatar billede dennism Nybegynder
11. november 2007 - 20:01 #24
Nej, det gjorde jeg ikke. Men tak for indsatsen!
Avatar billede erikjacobsen Ekspert
11. november 2007 - 20:03 #25
Man kan ikke bruge en locale, der ikke er installeret på en maskine.
Man kan så
1) finde og installere denne locale
2) skrive sin egen dato-funktion med danske ord osv.

Da man aldrig kan være sikker på en given locale findes på de servere, man skal afvikles sit system på, er 2) nok den nemmeste og sikreste løsning.
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