PHP - Comparaison de dates
Fermé
boss183
Messages postés
181
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
7 octobre 2011
-
Modifié par boss183 le 19/05/2011 à 16:16
boss183 Messages postés 181 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 7 octobre 2011 - 20 mai 2011 à 09:50
boss183 Messages postés 181 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 7 octobre 2011 - 20 mai 2011 à 09:50
A voir également:
- PHP - Comparaison de dates
- Easy php - Télécharger - Divers Web & Internet
- Comparaison prix amazon - Guide
- \R php ✓ - Forum PHP
- Get_magic_quotes_gpc php 8 ✓ - Forum PHP
- Href php ✓ - Forum PHP
2 réponses
chrij
Messages postés
115
Date d'inscription
jeudi 10 juin 2010
Statut
Membre
Dernière intervention
20 mai 2011
49
19 mai 2011 à 17:14
19 mai 2011 à 17:14
Bonjour,
je n'ai pas de quoi faire du php sous la main pour vérifier si ça fonctionne mais voilà quelques idées pour résoudre le problème :
1.convertir un string en date : https://www.php.net/manual/fr/datetime.createfromformat.php
2. ajouter des mois à une date : https://www.php.net/manual/fr/function.date-add.php
3. comparer les dates : on va comparer les timestamp, il faut donc récupérer celui que l'on vient de calculer : $timestamp = mktime(heures, minutes, secondes, mois, jour, année);
je n'ai pas de quoi faire du php sous la main pour vérifier si ça fonctionne mais voilà quelques idées pour résoudre le problème :
1.convertir un string en date : https://www.php.net/manual/fr/datetime.createfromformat.php
2. ajouter des mois à une date : https://www.php.net/manual/fr/function.date-add.php
3. comparer les dates : on va comparer les timestamp, il faut donc récupérer celui que l'on vient de calculer : $timestamp = mktime(heures, minutes, secondes, mois, jour, année);
boss183
Messages postés
181
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
7 octobre 2011
17
Modifié par boss183 le 20/05/2011 à 09:51
Modifié par boss183 le 20/05/2011 à 09:51
Voici la solution :
$datedeb = '2011-04-18'; // Date de début, qui provient de la base $duree = 6; // Durée du contrat en mois // Conversion de la date de début en unix timestamp list($y,$m,$d) = explode('-', $datedeb); $utdb = mktime(12,0,0,$m,$d,$y); // Calcul de la fin du contrat: $utdf = strtotime("+".$duree." months", $utdb); // On prend la date du jour à 12h, pour être dans le même contexte horaire que le contrat: $now = mktime(12, 0, 0, date('m'), date('d'), date('Y')); // Comparaison des dates: if (strtotime("+2 months", $now) > $utdf) { echo "le contrat va bientot se terminer"; } else { echo "le contrat ne se termine pas bientôt"; }