wat is hier fout aan??

<?php

function datum_nl($datefield) {

$maanden=Array("dummy","Januari","Februari","Maart","April","Mei","Juni","Juli","Augustus","September","Oktober","November","December");

$date = explode("-", $datefield);

$dag = $date[2];
$maand = $date[1];
$jaar = $date[0];

$maandnaam=$maanden[$maand];

$newdate=$dag." ".$maandnaam." ".$jaar;
return $newdate;

}

php?>

Als invoer heb ik een datefield uit de database, dus gewoon 0000-00-00
het probleem is dat ie de maand niet weergeeft

als de invoer 2004-04-11 is laat ie alleen 11 2004 zien :(
waarom niet gewoon via een code alle data omzetten in het time() formaat (zie http://nl.php.net/mktime) en daarna kun je alles weergeven zoals je het wil.

Kan dat niet, dan werkt onderstaand, je code, maar verbeterd...

<?
function datum_nl($datefield) {
$maanden['01'] = 'Januari';
$maanden['02'] = 'Februari';
$maanden['03'] = 'Maart';
$maanden['04'] = 'April';
$maanden['05'] = 'Mei';
$maanden['06'] = 'Juni';
$maanden['07'] = 'Juli';
$maanden['08'] = 'Augustus';
$maanden['09'] = 'September';
$maanden['10'] = 'Oktober';
$maanden['11'] = 'November';
$maanden['12'] = 'December';

$date = explode("-", $datefield);

$dag = $date[2];
$maand = $date[1];
$jaar = $date[0];

$maandnaam = $maanden[$maand];

$newdate = $dag." ".$maandnaam." ".$jaar;
return $newdate;
}
?>

[edit.1] Wat je fout deed, is dat je de $maanden[04] aanvroeg, terwijl dat in een array "4" heet, niet "04". Ik heb het nu zo opgelost dat ie de getallen inclusief de 0 ervoor pakt (haal die '' dus niet weg). Het moet nu als het goed is werken.

[edit.2] Dat was wel een heel stomme typo :P
waarom alle maanden in een array zetten?
dat kan je met de date(); functie toch ook zo krijgen?
Hij wil ze nederlands ;)
ooit van setlocale(); gehoord? ;)
Nee, nu wel :P. Ik doe ut ook altijd zo (A).
<?
setlocale ( LC_TIME, "nl_NL");
?>

Dat toevallig ? :P
<?
setlocale ( LC_TIME, "nl_NL");
?>

Dat toevallig ? :P
dat is overigens server afhankelijk, bij een linux server is het nl_NL maar bij een windows server is het nld_nld

Reageren