De rien content de t'avoir aider,
voici un exemple avec mktime...
// Indiquer le nombre de jours, mois, ans et le signe plus si c'est en positif.
$nb_ans='0';
$nb_mois='0';
$nb_jours = '-15'; // Par exemple
echo 'il y a quinze jours on étais le : ';
echo date('d/m/Y', mktime(0,0,0,date('m')+$nb_mois,date('d')+$nb_jours,date('Y')+$nb_ans));
Et voici la fonction :
//--------------------------------------------------------------------
// string fonction MyGetDate([int],[int],[int],[TRUE])
//--------------------------------------------------------------------
// Cette fonction retourne une date "relative" à la date du jour, contrairement à mktime qui retourne une date "absolue".
// L'appel sans argument retourne la date du jour au format 15/11/2004
//
// Les arguments (dans l'ordre) :
// [-] année(s) -> année(s) à ajouter/enlever à la date du jour
// [-] mois -> mois à ajouter/enlever à la date du jour
// [-] jour(s) -> jour(s) à ajouter/enlever à la date du jour
// [True] -> format MySql (2004/11/15)
//---------------------------------------------------------------------
// En cas d'erreur sur les arguments, MyGetDate retourne FALSE.
// Sinon une chaine contenant la date demandée
//---------------------------------------------------------------------
function MyGetDate( $nb_ans='0', $nb_mois='0', $nb_jours='0', $mysql=FALSE){
if( is_int($nb_ans) && is_int($nb_mois) && is_int($nb_jours)){
$mysql ? $format = "Y-m-d" : $format = "d/m/Y";
return date($format, mktime(0,0,0,date('m')+$nb_mois,date('d')+$nb_jours,date('Y')+$nb_ans));
}
else{
return FALSE;
}
}