Avatar billede webcreator Nybegynder
31. maj 2003 - 14:56 Der er 5 kommentarer og
1 løsning

Dato format - dag-måned-år > fx. 19. Maj 1985

Hej.

Jeg har et felt, hvor folk kan indtaste deres fødselsdag. Jeg vil i midlertid godt have det lavet om, så det står på en pæn måde.

Pt ser det således ud : DD MM YY
Dette skulle gerne udskrives som fx 19. Maj 1985.

Det er måske værd at bemærke, at hvis dagen (DD) er under 10 (fx. 07) så kommer formatet i min MySQL DB til at se sådan ud : D MM YY (den fjerne 0)
Avatar billede ohmish Nybegynder
31. maj 2003 - 15:21 #1
Husk at bruge feltformatet DATE eller bedre: DATETIME i databasen. Og formatet ved indsætning skal være YY-MM-DD.

når du hiver det ud kan du f.eks bruge:
    $data = explode("-", $dit_dato_felt_fra_DB);
    $nyyear = $data[0];
    $nymonth = $data[1];
    $nyday = $data[2];
    $montharr = array ("januar","februar","marts","april","maj","juni","juli","august","september","oktober","november", "december");
    $nymonth = $montharr[$nymonth-1];
echo $nyday.". ".$nymonth." ".$nyyear;

Meeen.. der er også en mere direkte funktion til det i mysql.
Avatar billede webcreator Nybegynder
31. maj 2003 - 15:26 #2
Ja, jeg burde self. lave det til et DATE-felt. Ingen grund til at bruge DATE-Time, da jeg ikke skal have en tid med..

Et andet problem er, at brugeren skal indtaste en DANSK dato. Derfor duer det ikke, at det er i formatet YY-MM-DD. Så skal jeg hen og via PHP lave det om fra dansk til US-format. Lidt besværligt.

Hvad er alternativet med en "mere direkte funktion i MySQL" ?
Avatar billede ohmish Nybegynder
31. maj 2003 - 16:01 #3
jeg har endnu ikke selv brugt mysql's egen funktion..

men jeg ved, at hvis du skal bruge datoen til at regne med (f.eks antal dage mellem to datoer), skal den gemmes og bruges som YY-MM-DD.

du kan da evt. gøre så brugeren skal indtaste 3 felter (eller vælge fra dropdown). og så bytter du bare rækkefølgen om og smider i db.
Avatar billede webcreator Nybegynder
31. maj 2003 - 16:03 #4
Ja, det har jeg også overvejet..
Avatar billede ohmish Nybegynder
31. maj 2003 - 20:34 #5
nu fandt jeg lidt om mysql's datofunktion.. den er ret nyttig:

$hent = @mysql_query("SELECT DATE_FORMAT(tid, '%d/%m-%Y') AS tid FROM noget");
$vis = @mysql_fetch_array($hent);
echo $vis['tid'];

kig evt. her (hvor der også står noget om månednavne):
http://www.mysql.com/doc/en/Date_and_time_functions.html
Avatar billede webcreator Nybegynder
25. juni 2003 - 13:25 #6
tak
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