deze datum komt uit de database:

06:21:2004

vervolgens zet ik hem om met deze functie
<?
function convert_date($datum)
{
$days = explode (":" , $datum);
$month = $days[0];
$days = $days[1];
$year = $days[2];
$monthnumber = array("01","02","03","04","05","06","07","08","09","10","11","12");
$monthname = array("Januari","Februari","Maart","April","Mei","Juni","Juli","Augustus","September","Oktober","November","December");
$month = str_replace($monthnumber, $monthname, $month);
$new_date = $days . ' ' . $month . ' ' . $year;
echo "$new_date";
}
?>
maar nu krijg ik in mijn html de volgende weergave

21 Juni

dus zonder het jaartal, iemand enig idee wat er mis gaat?

bedankt alvast.
je script klopt mss heb je de datum verkeerd ingevoegd ?
Als ik in de database kijk via phpmyadmin staat dit er
06:21:2004

dus daar mankeert het niet aan denk ik
Dit kan veel makkelijker

<?php
setlocale(LC_TIME, "NL_nl");
$datum = strftime ("%e %B %Y" ,strtotime($datum));
echo $datum;
?>
En als je het slim bent haal je de datum in de vorm

YYYY-MM-DD HH:MM:SS uit de database (Dit is volgens de iso standaard en daarmee kan je heel makkelijk mee rekenen.
yep dat werkt inderdaad, alleen is nu de maand in het engels, hoe krijg ik die nu weer terug in het nederlands?
/me zoekt in zijn PHP script database

Ha toch fout
setlocale(LC_TIME, "nl_NL");

en dit MOET Werken
yep! perfect! bedankt.
weet je misschien ook hoe je ook hier nederlandse notaties kunt krijgen?

<?
function
DateDropDown($size,$default) {
// $size = the number of days to display in the drop down
// $default = Todays date in m:d:Y format (SEE DATE COMMAND ON WWW.PHP.NET)
// $skip = if set then the program will skip Sundays and Saturdays
$skip=0;
echo "<select name=$default>\n";
for ($i = 0; $i <= $size; $i++) {

$theday = mktime (0,0,0,date("m") ,date("d")-$i ,date("Y"));
$option=date("D M j, Y",$theday);
$value=date("m:d:Y",$theday);
$dow=date("D",$theday);
if ($dow=="Sun") {
echo "<option disabled>&nbsp;</option>\n";
}
if ($value == $default) {
$selected="SELECTED";
} else {
$selected="";
}
if (($dow!="Sun" and $dow!="Sat") or !$skip) {
echo "<option value=\"$value\" $selected>$option</option>\n";
}
}
echo "</select>\n";
}
?>
Wat trouwens de fout was in je orininele script is het volgende:

Eerst zet je de datum in een array met de naam $days:
<?php
$days = explode (":" , $datum);
?>

Vervolgens ga je nieuwe variabelen aanmaken voor de waarden in je array:
<?php
$month = $days[0];
$days = $days[1];
$year = $days[2];
?>

Maar als je de variabele voor de dagen aanmaakt hou je er geen rekening mee dat je de variabele gebruikt die je ook al gebruikte voor je array. En zo heb je je array niet meer en kan de parser nooit $year vullen. Zoiets had beter geweest:

<?php
$explode = explode (":" , $datum);
$month = $explode[0];
$days = $explode[1];
$year = $explode[2];
?>

Elwin
idd.. daarom zie je het jaar dus ook niet :)
Ik wil nu dus hetzelfde proberen als hierboven maar dan MET de secondes er bij. en daar gaat het fout... ik heb nu dit script:

<?php
setlocale(LC_TIME, "nl_NL");
$datum = strftime ("%d %m %Y %H:%i:%s" ,strtotime($var->datum));
echo "$datum";
?>

//output: 22 06 2004 10:%i:1087893340

spaties tussen de : zetten werkt niet. De : vervangen door een spatie werkt ook niet Ik blijf dezelfde foute output houden
Srry laat maar zitten ik heb het al gevonden :)

Reageren