Avatar billede bipbipbip Nybegynder
17. februar 2009 - 23:32 Der er 9 kommentarer og
1 løsning

Visning af datoer på dansk

Hej,

Jeg er ved at lave en hjemmeside, http://www.eea.dk, om mobiltelefoner.

Mit problem er at alle datoerne under mine features (øverst på forsiden) bliver vist på engelsk (fx. February istedet for Februar).

I koden står der <?php the_time('F j, Y') ?>, så problemet er vel at få PHP til at forstå at F skal være på dansk og ikke engelsk. Hvordan gør man det?

Tak for hjælpen.

// bipbipbip
Avatar billede psychopixi Nybegynder
17. februar 2009 - 23:48 #1
Hvis der er installeret dansk locale på din server kan du bruge setlocale funktionen efterfulgt af strftime funktionen.
Mere info her: http://dk2.php.net/manual/en/function.setlocale.php
og her: http://dk2.php.net/manual/en/function.strftime.php

Hvis der ikke er installeret dansk locale må du selv lave en "oversætter funktion" a la:
<?php
switch(date("n")){
    case 1:$month = "januar";break;
    case 2:$month = "februar";break;
    case 3:$month = "marts";break;
    case 4:$month = "april";break;
    // og så videre
}
echo $month;
?>

og så til sidst udskrive datoen med noget a la:
<?php
echo "d. " . date("d") . ". $month, " . date("Y");
?>
Avatar billede psychopixi Nybegynder
17. februar 2009 - 23:49 #2
Output af ovenstående: d. 17. februar, 2009
Avatar billede bipbipbip Nybegynder
18. februar 2009 - 09:39 #3
Tak for svaret. Det ser ud til at dansk locale ikke er installeret for setlocale/strftime kombinationen virker ikke :(

Jeg vil brokke mig til min host og så bruge j/n-Y indtil videre. Det ser godtnok ikke så flot ud som lange månedsnavne, men det er ok indtil setlocale/strftime forhåbentlig kommer til at virke.
Avatar billede bipbipbip Nybegynder
18. februar 2009 - 09:39 #4
psychopixi - skriver du ikke et svar, så du kan få dine point.
Avatar billede psychopixi Nybegynder
18. februar 2009 - 12:13 #5
Du kunne jo evt. også blot bruge den alternative løsning;D
Avatar billede psychopixi Nybegynder
18. februar 2009 - 13:23 #6
Den fulde, alterantive løsning kunne evt. se sådan ud:
<?php
switch(date("n")){
    case 1:$month = "januar";break;
    case 2:$month = "februar";break;
    case 3:$month = "marts";break;
    case 4:$month = "april";break;
    case 5:$month = "maj";break;
    case 6:$month = "juni";break;
    case 7:$month = "juli";break;
    case 8:$month = "august";break;
    case 9:$month = "september";break;
    case 10:$month = "oktober";break;
    case 11:$month = "november";break;
    case 12:$month = "december";break;
}
switch(date("N")){
    case 1:$day = "mandag";break;
    case 2:$day = "tirsdag";break;
    case 3:$day = "onsdag";break;
    case 4:$day = "torsdag";break;
    case 5:$day = "fredag";break;
    case 6:$day = "lørdag";break;
    case 7:$day = "søndag";break;
}
echo "$day den " . date("d") . ". $month, " . date("Y");
?>

Output: onsdag den 18. februar, 2009
Avatar billede psychopixi Nybegynder
18. februar 2009 - 21:22 #7
Prøv evt. også:

<?php
setlocale(LC_TIME,"dnk","dan","danish","dk");
echo strftime("%A d. %d. %B, %Y");
?>
Avatar billede bipbipbip Nybegynder
18. februar 2009 - 22:27 #8
Det virker, tak for tippet. Bruger echo ucfirst(strftime("%B %d, %Y")); så det første bogstav i månedsnavnene bliver med stort.

Jeg har dog ikke tilføjet det til http://www.eea.dk endnu, da jeg ikke vil vise dags dato, men dato for hvornår mine blog poster er skrevet.

Pt. gøres det via wordpress funktionen the_time().
Avatar billede psychopixi Nybegynder
18. februar 2009 - 22:40 #9
Følgende er ganske utestet, men kan ikke se hvorfor det ikke skulle virke:

<?php
setlocale(LC_TIME,"dnk","dan","danish","dk");
echo ucfirst(strftime("%B %d, %Y",strtotime(the_time())));
?>
Avatar billede brianbrandt Nybegynder
11. marts 2009 - 13:53 #10
Hvorfor dog gå den kæmpe omvej ??
Du kan finde ud af hvordan dine datoer bliver vist her:
http://dk.php.net/date
og så skal du jo bare lige have din wordpress sat til at vise dansk... http://da.wordpress.org
Det gør du ved at overføre language filerne og så sætte til dansk sprog i din config.php fil...
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

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



IT-JOB