Monat über Funktion anzeigen

04/14/2015 23:29 Chyukαsame#1
Hallo,
ich möchte gerne mein Datum in Jan,Feb,Mai,Apr etc. ausgeben.

Dafür haben ich diese Abfrage
PHP Code:
echo "<div class='month'>" date('m' strtotime(gibmonat($row['datum']))) . "</div>"
Meine Funktion gibmonat sieht so aus

PHP Code:
function gibmonat($row) {
    if (
$row == 01) {return "Jan";}
    if (
$row == 02) {return "Feb";}
    if (
$row == 03) {return "Mär";}
    if (
$row == 04) {return "Apr";}
    if (
$row == 05) {return "Mai";}
    if (
$row == 06) {return "Jun";}
    if (
$row == 07) {return "Jul";}
    if (
$row == 08) {return "Aug";}
    if (
$row == 09) {return "Sep";}
    if (
$row == 10) {return "Okt";}
    if (
$row == 11) {return "Nov";}
    if (
$row == 12) {return "Dez";}

Doch er gibt mir permanent nur 01 aus.
Wenn ich die Funktion gibmonat rausnehme, dann gibt er mir 04 an für April, weiß jemand wieso es nicht funktioniert?
04/14/2015 23:50 NotEnoughForYou#2
Wieso nicht einfach
PHP Code:
setlocale(LC_TIME"de_DE");
echo 
"" date('M' time()) . ""
?

bzw. dann mit einem timestamp.

Problem bei dir: strtotime funktioniert nur bei einem korrekten Stringformat. 04 bzw. Apr etc was es bei dir ist ist kein korrektes Stringformat für Zeitangaben (auch wenn dein Code von der Logik so keinen Sinn macht auch wenn es funktionieren würde, da es quasi vor und zurück ist). "02".$row['datum']."2015" würde funktionieren. So bekommt strtotime einen richtigen timestamp hin und date kann funktionieren (allerdings mit M statt m).