Retrouver la date d'il y'a X jours

Signaler
Messages postés
291
Date d'inscription
dimanche 2 février 2003
Statut
Membre
Dernière intervention
30 juin 2006
-
Messages postés
291
Date d'inscription
dimanche 2 février 2003
Statut
Membre
Dernière intervention
30 juin 2006
-
Salut les amis,

Je galère un peu pour retrouver une date à partir d'aujourd'hui d'il y'a X jours...:'(

J'ai trouvé pas mal de code qui calcul l'écart entre 2 dates, mais moi je voudrais savoir comment faire pour obtenir la date d'il y'a 10 jours par exemple. Le problème que je n'arrive pas résoudre est la situation dans laquelle nous somme le 7 du mois et donc j'ai pensé à faire 7 - 10 jours en arrière, ce qui donne -3 :-|...chelou.

Est-ce que vous avez des conseils à m'indiquer pour résoudre ce problème ?

Merci à vous.

Inekman.

2 réponses

Messages postés
369
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
20 octobre 2013

Determine une date valide à rebours(voir: mktime) en entrant une date de depart, et un interval en jours.

$ladate2 sous la forme jjmmaaaa
$freq2 = nbre de jours (ex:30)

function calculdate($ladate2 , $freq2){
function calculdate($ladate2, $freq2){

$jour = substr($ladate2, 0, 2);
$mois = substr($ladate2, 2 , 2);
$annee = substr($ladate2, 4 , 4);

$jour_temp = $jour;
$mois_temp = $mois;
$annee_temp = $annee;
$i=1;
//$tabl = array(0, 1, 2, 3, 7, 14);
$bool = true;
while (($i <$freq2)||($bool false)){
$jour_temp = $jour_temp - 1;
if ($jour_temp < 10){$jour_temp = "0".($jour_temp);}
if ($jour_temp == 0){
$jour_temp = 31;
$mois_temp = $mois_temp - 1;
if ($mois_temp < 10){$mois_temp = "0".($mois_temp); if ($mois_temp 0){$mois_temp 12;$annee_temp = $annee_temp - 1;}
}
}
$bool = checkdate($mois_temp, $jour_temp, $annee_temp);
$i++;
}

if (($bool == false) && ($freq2 > 0)){
while(checkdate($mois_temp, $jour_temp,
$annee_temp)==false){$jour_temp=$jour_temp-1;}
}

$date_envoi = $jour_temp.$mois_temp.$annee_temp;
return $date_envoi;
}//fin fonction
}

Laurent
http://phpsources.net
Messages postés
291
Date d'inscription
dimanche 2 février 2003
Statut
Membre
Dernière intervention
30 juin 2006

En voilà un code bien sympatik didiou :-P

J'ai réussi à faire ce que je voulais très simplement en fait. Je voulais vérifier si une date est supérieure à une autre de 10 jours.

J'ai fait comme ça :

$dte_10 = date("Ymd", mktime(0, 0, 0, date("m"), date("d")-10, date("Y")));

$dte_file = date("Ymd", filectime($dir.'/'.$item));

if ( $dte_file > $dte_10)
{
     blabla...
}
else
{
     blabla2...
}


Et ça marche pile poil que je veux...je sais pas si c propre mais en tout cas, ça répond parfaitement à mon besoin.

Merci Laurent pour avoir pris le temps de me proproser cette solution.

Inekman.