2017-05-06 4 views
0

in PHP, ich möchte den letzten Monat in meiner Sprache (Deutsch) anzeigen. Ich fand ein Arbeits Schnipsel für die Übersetzung:PHP letzten Monat in anderer Sprache

<?php $monate = array(1=>"Januar", 
      2=>"Februar", 
      3=>"M&auml;rz", 
      4=>"April", 
      5=>"Mai", 
      6=>"Juni", 
      7=>"Juli", 
      8=>"August", 
      9=>"September", 
      10=>"Oktober", 
      11=>"November", 
      12=>"Dezember"); 
$monat = date("n"); 
echo $monate[$monat]; ?> 

Und auch ein gutes für den letzten Monat:

<?php $date=date_create("2013-05-01"); 
date_modify($date,"first day of last month"); 
echo date_format($date,"M"); ?> 

Aber gleich, was ich versuche ich es nicht schaffen, diese beiden zu kombinieren. Z. B .:

<?php $monate = array(1=>"Januar", 
2=>"Februar", 
3=>"M&auml;rz", 
4=>"April", 
5=>"Mai", 
6=>"Juni", 
7=>"Juli", 
8=>"August", 
9=>"September", 
10=>"Oktober", 
11=>"November", 
12=>"Dezember"); 
$monat = date("n"); 
monat_modify($date,"last month"); 
echo $monate[$monat]; ?> 

No way ... :-) Jeder Hinweis, wie diese beiden kombiniert zu bekommen?

+0

Sie verwendet monat_modify statt date_modify :) – inarilo

Antwort

2
<?php $monate = 
     array(
      1=>"Januar", 
      2=>"Februar", 
      3=>"M&auml;rz", 
      4=>"April", 
      5=>"Mai", 
      6=>"Juni", 
      7=>"Juli", 
      8=>"August", 
      9=>"September", 
      10=>"Oktober", 
      11=>"November", 
      12=>"Dezember" 
      ); 


$data_time = new DateTime(); 

//date_modify($data_time,"last month"); //date_modify modifies the timestamp. ex: last month, + 15 days etc.. 

$data_time->modify("last month"); // you can also use modify funtion for timestamp. ex: last month, + 15 days etc.. 

$last_month = $data_time->format("n"); // return last month in number ex: 4 

echo $monate[$last_month]; // prints the last months value from array 

?> 
+0

Works! Und das ist noch eleganter, denn es ist absolut einfach, nicht nur die nächsten oder die letzten Monate, sondern auch -3 oder +8 Monate usw. zu wählen. Vielen Dank! .-) –

+0

Herzlich willkommen !! Bro :) Häkchen, ob es für dich funktioniert !! –

+0

Schlägt dies nicht fehl, wenn der aktuelle Monat Januar ist? –

0

ersetzen

$monat = date("n"); 
monat_modify($date,"last month"); 
echo $monate[$monat]; 

mit

$monat = date_create(); 
date_modify($monat,"last month"); 
$monat = date_format($monat,"n"); 
echo $monate[$monat]; 
+0

Danke, aber das funktioniert auch nicht. ** Warnung: date_modify() erwartet, dass Parameter 1 DateTime ist, String in /www/htdocs/.../header-footer/plugin.php(488): eval(), d Code in Zeile 14 Warnung : date_format() erwartet, dass Parameter 1 DateTimeInterface ist, String in /www/htdocs/...header-footer/plugin.php(488): eval(), d Code in Zeile 15 ** –

+0

Entschuldigung, sollte jetzt funktionieren – inarilo

+0

err die Übersetzung vergessen ... mein Gehirn ist heute ein bisschen langsam! – inarilo

Verwandte Themen