Avatar billede thulstrup Nybegynder
30. juli 2003 - 14:11 Der er 6 kommentarer og
3 løsninger

Formater dato

Jeg leder efter en måde at konvertet datoer fra dette format:
30-07-2003

om til dette:
onsdag d. 30. juli 2003
Avatar billede per_s_n Nybegynder
30. juli 2003 - 14:15 #1
Man kan gøre det på flg måde.
<?
$meses=array(" ","januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december");
$mes_ano=date("n");
$dato = date("j ").$meses[$mes_ano].date(" Y");
?>

Det giver 30 juli 2003, så skal der bare skrives dag foran.
;)
Avatar billede zeta Nybegynder
30. juli 2003 - 14:15 #2
Avatar billede zeta Nybegynder
30. juli 2003 - 14:16 #3
årh hvad.. 4 sekunder.. :)
Avatar billede gonza.dk Nybegynder
30. juli 2003 - 14:16 #4
$date = explode("-", $dato);
$timestamp = mktime(0, 0, 0, $date[1], $date[0], $date[2]);

så har du et $timestamp der er nemt at lege med ;o)
Avatar billede gonza.dk Nybegynder
30. juli 2003 - 14:33 #5
og hvis du skal have det hele foræret ;o)


<?php
$date = "30-07-2003";

//laver datoen til et timestamp
$date = explode("-", $date);
$timestamp = mktime(0, 0, 0, $date[1], $date[0], $date[2]);

//finder dagen
$maanedsdag    = date('j',$timestamp);

//finder ugedagen i tal
$ugedag  = date('w',$timestamp);

//finder måneden i tal
$maaned = date('n',$timestamp);

//finder året
$aar  = date('Y',$timestamp);

//laver ugedagen til bogstaver
if ($ugedag == '0'){
$ugedag = "søndag";
}

else if ($ugedag == '1'){
$ugedag = "mandag";
}

else if ($ugedag == '2'){
$ugedag = "tirsdag";
}

else if ($ugedag == '3'){
$ugedag = "onsdag";
}

else if ($ugedag == '4'){
$ugedag = "torsdag";
}

else if ($ugedag == '5'){
$ugedag = "fredag";
}

else if ($ugedag == '6'){
$ugedag = "lørdag";
}



//laver måneden til bogstaver
if ($maaned == '1'){
$maaned = "januar";
}

else if ($maaned == '2'){
$maaned = "februar";
}

else if ($maaned == '3'){
$maaned = "marts";
}

else if ($maaned == '4'){
$maaned = "april";
}

else if ($maaned == '5'){
$maaned = "maj";
}

else if ($maaned == '6'){
$maaned = "juni";
}

else if ($maaned == '7'){
$maaned = "juli";
}

else if ($maaned == '8'){
$maaned = "august";
}

else if ($maaned == '9'){
$maaned = "september";
}

else if ($maaned == '10'){
$maaned = "oktober";
}

else if ($maaned == '11'){
$maaned = "november";
}

else if ($maaned == '12'){
$maaned = "december";
}

//udskriver datoen
echo $ugedag." d. ".$maanedsdag.". ".$maaned." ".$aar;

?>
Avatar billede gonza.dk Nybegynder
30. juli 2003 - 14:35 #6
Avatar billede thulstrup Nybegynder
30. juli 2003 - 14:38 #7
jeg løste det sådan her (udfra gonza.dk første svar):

setlocale("LC_TIME","da");
$dato = "30-07-2003";
$dato = explode("-", $dato);
$dato = mktime(0, 0, 0, $dato[1], $dato[0], $dato[2]);
$dato = strftime("%A den %d. %B %Y", $dato);

hvilket giver resultatet:
onsdag den 30. juli 2003
Avatar billede thulstrup Nybegynder
30. juli 2003 - 14:40 #8
Mange tak for hjælpen alle tre! Gonza.dk du får fleste point da det var din løsning jeg brugte.
Avatar billede gonza.dk Nybegynder
30. juli 2003 - 14:44 #9
takker for points, og ja, det kræver jo lidt mindre kode at gøre det på den måde ;o)
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