Lifeform Skrevet 8. januar 2010 Del Skrevet 8. januar 2010 Hei, Ka e enkleste måten å få datoen til å vise "10. januar 2010" ? Forstår det er noe setlocale man kan bruke, men blir ikke klok på det. Lenke til kommentar
MikkelRev Skrevet 8. januar 2010 Del Skrevet 8. januar 2010 (endret) Vet ikke om det er noe norsk-støtte i php. Selv har jeg brukt en funksjon for det. function mnd($mm) { switch($mm) { case 01: return: "januar"; case 02: return: "februar"; //osv. } og tilsvarende hvis du vil ha dagenavnet: function dag ($dd) { switch ($dd) { case 00: return "Søndag"; case 01: return "Mandag"; //osv } } <?php echo dag(date("w")).", ".date("d").". ".mnd(date("m"))." ".date("Y"); ?> Endret 8. januar 2010 av MikkelRev Lenke til kommentar
Jonas Skrevet 8. januar 2010 Del Skrevet 8. januar 2010 Leading zeros gjør at PHP tolker tallet som om det skulle være i 8-tallssystemet. Følgelig vil ikke koden fungere lenger enn til juli. Skriv et par fnutter rundt verdiene, så er det i boks. Det finnes derimot utrolig mye bedre måter å gjøre det på. Ta f.eks. en titt på denne kommentaren. Lenke til kommentar
BlueEAGLE Skrevet 8. januar 2010 Del Skrevet 8. januar 2010 Leading zeros gjør at PHP tolker tallet som om det skulle være i 8-tallssystemet. Følgelig vil ikke koden fungere lenger enn til juli. Skriv et par fnutter rundt verdiene, så er det i boks. Det finnes derimot utrolig mye bedre måter å gjøre det på. Ta f.eks. en titt på denne kommentaren. Faktisk så er det bare 08 og 09 som ikke vil virke forutsatt at man ikke skriver 10 og ikke 010 da. Veldig nyttig lenke. Hadde ikke sett den kommentaren før. Lenke til kommentar
TeisL Skrevet 9. januar 2010 Del Skrevet 9. januar 2010 Hei, Har laget en funksjon for å fikse på datoformatet. function date_convert($inDate) { list($year, $month, $day) = explode('-', $inDate); switch($month){ case 1: $txt_month = "January"; break; case 2: $txt_month = "February"; break; case 3: $txt_month = "March"; break; case 4: $txt_month = "April"; break; case 5: $txt_month = "May"; break; case 6: $txt_month = "June"; break; case 7: $txt_month = "July"; break; case 8: $txt_month = "August"; break; case 9: $txt_month = "September"; break; case 10: $txt_month = "October"; break; case 11: $txt_month = "November"; break; case 12: $txt_month = "December"; break; } return $day . "th " . $txt_month . " " . $year; } Her er det bare å endre i returnen for å endre det. Denne er laget på et system på engelsk. Input argumentet er date i postgresql. (YYYY-MM-DD) Lenke til kommentar
Jonas Skrevet 9. januar 2010 Del Skrevet 9. januar 2010 Unnskyld meg, men hva er det jeg egenlig ser her? Datoformatering etter at datoen har blitt formatert? Dobbeltformatering? Lenke til kommentar
Ernie Skrevet 9. januar 2010 Del Skrevet 9. januar 2010 Ikke, bare det, men den inneholder gramatiske feil. 2010-01-01 blir til 1th January 2010, ikke 1st January 2010. Samme vil såklart også gjelde med 2. og 3. i hver måned hvor suffiks skal være nd og rd. Dessuten kan PHP utmerket gjør det selv (sjekk ut date og spesielt S i listen). Som om ikke det er nok kan også databasesystemet selv gi ut datoer i «egendefinerte» formater. I MySQL har man f.eks DATE_FORMAT og fom. 4.1.21, 5.0.25 og 5.1.12 er det også mulig å få ut dager, måneder etc. i ønsket språk. Lenke til kommentar
AlecTBM Skrevet 11. januar 2010 Del Skrevet 11. januar 2010 Jonas: Den setlocale funksjonen har aldri funka hos meg Mulig det er jeg som ikke har lest skikkelig ang den, siden jeg som oftest bruker tall format Lenke til kommentar
TheClown Skrevet 11. januar 2010 Del Skrevet 11. januar 2010 Krever vel PHP over en vis versjon, I guess Lenke til kommentar
JohndoeMAKT Skrevet 11. januar 2010 Del Skrevet 11. januar 2010 Serveren må vel ha installert ønsket språkpakke, se liste med «locale -a». Lenke til kommentar
AlecTBM Skrevet 11. januar 2010 Del Skrevet 11. januar 2010 Tenkte meg egentlig det, har bare aldri tatt meg bryet med å finne det ut Lenke til kommentar
alp_renx Skrevet 15. januar 2010 Del Skrevet 15. januar 2010 Utfra et timestamp format, f.eks. <?php $date = "14.01.2010 00:17:15"; // timestamp echo str_replace(array("%1%","%2%","%3%","%4%","%5%","%6%","%7%","%8%","%9%","%10%","%11%","%12"), array("Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"), date('d. %n% Y',strtotime($date))); // 14. Januar 2010 ?> Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå