webForumDet fria alternativet

Göra om datum till formatet 23 feb,2010

PHP

7 svar · 1 039 visningar · startad av Emil W

Medlem sedan mars 2009512 inlägg
Frågan#1

Sitter och funderar på hur man ska lösa detta.

Jag har datum sparat i databasen som ser ut så här 2010-02-23 13:15:00

och så vill jag att det ska se ut så här 23 feb, 2010 på sidan när den visas.

Något som vet hur man löser det ?

Medlem sedan dec. 20003 563 inlägg
Medlem sedan mars 2009512 inlägg
#3

Tack så mycket

Medlem sedan dec. 20011 860 inlägg
#4
<?php
function dtLeft($sDT){
	$y = substr($sDT, 0, 4);
	$m = substr($sDT, 5, 2);
	$d = substr($sDT, 8, 2);

	$Dag	= date("j", mktime(0,0,0, $m, $d, $y));
	$Man	= ManSwe(date("m", mktime(0,0,0, $m, $d, $y)));
	return $Dag." ".$Man.", ".$y;
}
function ManSwe($man){
	switch($man){
      		case '01': $manNamn = "jan"; break;
      		case '02': $manNamn = "feb"; break;
      		case '03': $manNamn = "mars"; break;
      		case '04': $manNamn = "april"; break;
      		case '05': $manNamn = "maj"; break;
      		case '06': $manNamn = "juni"; break;
      		case '07': $manNamn = "juli"; break;
      		case '08': $manNamn = "aug"; break;
      		case '09': $manNamn = "sept"; break;
      		case '10': $manNamn = "okt"; break;
      		case '11': $manNamn = "nov"; break;
      		case '12': $manNamn = "dec"; break;
	}
	return $manNamn;
}
$datum = "2010-02-23 13:15:00";
echo dtLeft($datum);
?>
Medlem sedan mars 2009512 inlägg
#5

Jag tar upp detta i denna tråd.

Jag vill göra datumet så här

fre 20 aug 10:40

datumet blir så här istället

20 aug 10:40

och sen får jag felmeddelande

Notice: Undefined variable: maan in C:\wamp\www\gastbok.php on line 115

fast jag har skrivit

2010-08-20 10:40:00

Här kommer koden

<?php
function left($sw)
{
$y = substr($sw, 0,4);
$m = substr($sw, 5,2);
$d = substr($sw, 8,2);
$klh = substr($sw, 11,2);
$klm = substr($sw, 14,2);
$dag = da(date("j",mktime(0,0,0, $d,$m,$y)));
$mann = manswe(date("m",mktime(0,0,0,$d,$m,$y)));
return $dag." ".$d." $mann"."$klh:$klm";
}
function manswe($man)
{
switch($man)
{
case '01'; $ma = "jan";
break;
case '02'; $ma = "feb";
break;
case '03'; $ma = "mar";
break;
case '04'; $ma = "apr";
break;
case '05'; $ma = "maj";
break;
case '06'; $ma = "jun";
break;
case '07'; $ma = "jul";
break;
case '08'; $ma = "aug";
break;
case '09'; $ma = "sep";
break;
case '10'; $ma = "okt";
break;
case '11'; $ma = "nov";
break;
case '12'; $ma = "dec";
break;
}
return $ma;
}
function da($mana)
{
switch($mana)
{
case '01'; $maan = "mån";
break;
case '02'; $maan = "tis";
break;
case '03'; $maan = "ons";
break;
case '04'; $maan = "tor";
break;
case '05'; $maan = "fre";
break;
case '06'; $maan = "lör";
break;
case '07'; $maan = "sön";
break;
}
return $maan;
}       
$r = "2010-08-20 10:40:00";
echo left($r);
Medlem sedan juni 20014 290 inlägg
#6

Något såhär:

date_default_timezone_set('Europe/Stockholm');

$r = "2010-08-20 10:40:00";

$f = date("D d M H:i", strtotime($r));

print "$r\n$f\n";
Medlem sedan mars 2009512 inlägg
#7

jag ska ha dagarna och månaderna på svenska och så här ska det vara

fre 20 aug 10:40

Medlem sedan juni 20014 290 inlägg
#8

Emil W skrev:

jag ska ha dagarna och månaderna på svenska och så här ska det vara

fre 20 aug 10:40

Ok, då blir det så här:

date_default_timezone_set('Europe/Stockholm');
setlocale("LC_ALL","swedish");
 
$r = "2010-08-20 10:40:00";
 
$f = date("D d M H:i", strtotime($r));
$l = strftime("%a %d %b %H:%M", strtotime($r));
 
print "Orginal\t$r\nEnglish\t$f\nSwedish\t$l\n";

Vilket skriver ut:

Orginal 2010-08-20 10:40:00
English Fri 20 Aug 10:40
Swedish fre 20 aug 10:40

Ok glöm inte, php manualen är din vän! :)

258 ms totalt · 4 externa anrop · v20260731065814-full.2f471f9e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)