Pour plus de renseignements, merci de consulter mon article sur la mise en forme des dates.
class WdDateTime
{
var $time;
function WdDateTime($date='now')
{
$this->time = strtotime($date);
}
function modify($relative)
{
$this->time = strtotime($relative, $this->time);
}
function format($fmt,$upper=false)
{
$date = strftime($fmt, $this->time);
if ($upper)
{
$date = preg_replace('#^[[:lower:]]|\s+[[:lower:]]#e', 'strtoupper("\0")', $date);
}
return utf8_encode($date);
}
}
Un exemple peut-être ?setlocale(LC_TIME, 'french');
$time = new WdDateTime('2007-12-08');
echo "Le mois prochain nous serons le : " . $time->format('%A %d %B %Y', '+1 month') . "<br />";
$time->modify('+10 year');
echo "Dans 10 ans nous serons le : " . $time->format('%A %d %B %Y') . "<br />";
echo "Jours suivants : ";
for ($i = 1 ; $i < 7 ; $i++)
{
echo " " . $time->format('%A', "+$i day");
}
echo "<br />";
Devrait donner quelque chose comme :Code : Tout sélectionner
Le mois prochain nous serons le : mardi 08 janvier 2008
Dans 10 ans nous serons le : vendredi 08 décembre 2017
Jours suivants : Samedi Dimanche Lundi Mardi Mercredi Jeudi
Mise à jour en fonction des remarques de HyWaN.