Avatar billede LilleUdvikler Nybegynder
25. juli 2011 - 19:23 Der er 13 kommentarer og
1 løsning

Date konvertering til dansk -> July til Juli

Hejsa.

Jeg har som overskriften siger. Nogle datoer, som skal laves om til dansk skrift i stedet for Engelsk.

Det vil sige: January om til Januar osv.

Jeg bruger:

$date = $row['created_timestamp'];
$date_opslag_added = date('d F Y \k\l\.\ H:i:s', strtotime($date));
Avatar billede olsensweb.dk Ekspert
25. juli 2011 - 19:46 #1
prøv at sætte setlocale og se om det virker, ellers skal du bruge strftime
http://php.net/setlocale
http://www.php.net/manual/en/function.strftime.php
Avatar billede webweaver Praktikant
25. juli 2011 - 23:40 #2
Hvis du ikke kan få det andet til at virke, kan du også bruge et array og en str_replace. Men det er lidt primitivt :)
Avatar billede LilleUdvikler Nybegynder
26. juli 2011 - 12:01 #3
ronols #1

Kan du ikke prøvet at lave et forslag til hvordan den skulle være? :-)
Avatar billede olsensweb.dk Ekspert
26. juli 2011 - 12:35 #4
#2 det bekræftiges af http://www.eksperten.dk/spm/803550  #25
eller anden egen function

#3
<?php
// http://www.eksperten.dk/spm/804266
// http://www.eksperten.dk/spm/803550 

setlocale(LC_ALL, 'danish'); // virker på wamp, og på unoeuro linux
// setlocale(LC_ALL, 'dk_DK'); // burde virke på linux

// $date = $row['created_timestamp'];
$date = time(now);
$date_opslag_added = strftime("%d %B %Y kl. %H:%M:%S", $date);
echo $date_opslag_added;
?>
Avatar billede LilleUdvikler Nybegynder
26. juli 2011 - 12:38 #5
Hvorfor skal jeg bruge time(now);?
Når jeg har en tid der skal bruges, som er blevet indtastet i en database?
Avatar billede olsensweb.dk Ekspert
26. juli 2011 - 12:42 #6
@Hvorfor skal jeg bruge time(now);?
det skal du heller ikke, det var for at jeg havde noget at teste med, slet linjen og brug den ovenover jeg har udkommenteret
Avatar billede LilleUdvikler Nybegynder
26. juli 2011 - 12:45 #7
Det funger ikke helt. Den udskriver: 01 January 1970 kl. 01:33:31
Avatar billede olsensweb.dk Ekspert
26. juli 2011 - 12:59 #8
ref http://www.eksperten.dk/spm/804266 #21
Prøv lige at test følgende værdier i setlocale()
da_DK.UTF-8
da_DK.utf8
da_DK
danish
dansk
Avatar billede LilleUdvikler Nybegynder
26. juli 2011 - 13:03 #9
Det funger ikke.

Hvor skal jeg have dette setlocal stående? Bare et sted på siden, hvor det skal printes ud?
Avatar billede olsensweb.dk Ekspert
26. juli 2011 - 13:16 #10
"Hvor skal jeg have dette setlocal stående? "
Du skal lave en tilføjelse i toppen af din kode:
setlocale(LC_ALL,'danish');
Avatar billede LilleUdvikler Nybegynder
26. juli 2011 - 13:19 #11
Det har jeg også. Det er mærkelig det ikke fungerer så synes jeg :-S
Avatar billede LilleUdvikler Nybegynder
26. juli 2011 - 13:53 #12
Okay :

setlocale(LC_ALL,'da_DK.UTF-8');

Får:

strtime('%B'); til at udskrive juli.

Så skal jeg bare have:

$date = $row['created_timestamp'];
    $date_opslag_added = strftime("%d %B %Y kl. %H:%M:%S", $date);

Til at udskrive korrekt, og ikke det med 01 January something.
Avatar billede LilleUdvikler Nybegynder
26. juli 2011 - 13:56 #13
Følgende virkede:

$date = $row['created_timestamp'];
$date_opslag_added = strftime("%d %B %Y kl. %H:%M:%S", strtotime($date));
$date_opslag_added_ripped = strftime("%d %B %Y", strtotime($date));

Olsen, kan du ikke ligge et svar? :-)
Avatar billede olsensweb.dk Ekspert
26. juli 2011 - 17:09 #14
får du her
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