SEO, web, high tech et mobile

Tuto PHP : comment ajouter des jours / mois / années à une date donnée

La gestion des dates en PHP  est une partie assez complexe de ce langage de programmation, qui fait appel à une 50 aine de fonctions dédiées.
Dans cet article, vous trouverez des bouts de code très simples qui permettent de calculer une date future en fonction d’une date donnée et d’une durée.

Ces quelques exemples sont capables de gérer le changement d’année (si vous voulez rajouter 15 jours à partir du 25 décembre par éxemple), de mois et aussi les années bissextiles.

 

Ajouter des jours à la date du jour

//Ajout de 15 jours
echo date(‘d-m-Y’, strtotime(‘+15 days’));

//Ajout de 20 jours
echo date(‘d-m-Y’, strtotime(‘+20 days’));

Vous l’aurez compris, le nombre après le ‘+’  correspond au nombre de  jours que vous voulez rajouter.
Le fonctionnement est identique pour les exemples suivants.

Ajouter des mois à la date du jour

//Ajout de 1 mois
echo date(‘d-m-Y’, strtotime(‘+1 month’));

//Ajout de 2 mois
echo date(‘d-m-Y’, strtotime(‘+2 month’));

Ajouter des années à la date du jour

//Ajout de 1 année
echo date(‘d-m-Y’, strtotime(‘+1 year’));

//Ajout de 2 années
echo date(‘d-m-Y’, strtotime(‘+2 year’));

strtotime() permet d’aller encore plus loin en ajoutant des minutes, des secondes, des heures, …
Je vous invite à consulter le guide de la fonction strtotime() sur php.net.

 

 

Comment calculer la date future par rapport à n’importe quelle date donné (pas forcément la date du jour)?

//date de départ : 01 avril 2013
$dateDepart = ’01-04-2013′;

//durée à rajouter : 6 mois;
$duree = 6;

//la première étape est de transformer cette date en timestamp
$dateDepartTimestamp = strtotime($dateDepart);

//on calcule la date de fin
$dateFin         = date(‘d-m-Y’, strtotime(‘+’.$duree.’ month’, $dateDepartTimestamp ));

Les explications du calcul effectué dans $dateFin

  • On appelle la fonction date() qui va nous renvoyer une date au format demandé, c’est à dire JJ-MM-AAAA (c’est le premier argument : ‘d-m-Y’)
    Si le 2eme argument est renseigné, elle renvoie la date par rapport au timestamp fourni. C’est pour ça que nous l’avons calculé dans $dateDepartTimestamp
  • Dans le deuxième argument, on va calculer le timestamp correspondant à la date de départ + la durée (6 mois) grâce à la fonction strtotime()
Catégorie : PHP, Tutos
Mot-Clé : , , ,
17/01/2012 at 17:38
Jérôme PASQUELIN
Lire les articles précédents :
PHPExcel : article gratuit du magazine PHPSolutions à télécharger

 PHPExcel : ajouter des formules, intégrer des méta-informations, fixer le type et le format des cellules et les protéger ,...

Fermer