Gå til innhold

Norsk datoformat på formen "10. januar 2010"


Anbefalte innlegg

Videoannonse
Annonse

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 av MikkelRev
Lenke til kommentar

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
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

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

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

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...