La date d'il y a 15 jours

Contenu du snippet

Je cherchais une petite fonction pour me retourner une date antétieure ou postérieure en fonction d'un nombre de jours donnés. J'ai pas trouvé, je l'ai fait

Source / Exemple :


Suite aux commentaires, voici le code "online" :

// 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;
  }
}

Conclusion :


Petit code tout simple, mais assez pratique.
Je m'en sert pour gérer l'archivage automatique de documents datants de plus de 15 jours !!

Nota : ca gère les mois à 28,29,30et 31 jours tout seul et les années bissextilles !

On peut aussi jouer avec les heures .....

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.