Retrouver la date d'il y'a X jours

Inekman Messages postés 291 Date d'inscription dimanche 2 février 2003 Statut Membre Dernière intervention 30 juin 2006 - 3 oct. 2004 à 13:15
Inekman Messages postés 291 Date d'inscription dimanche 2 février 2003 Statut Membre Dernière intervention 30 juin 2006 - 3 oct. 2004 à 18:50
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

LaurentKOogar Messages postés 369 Date d'inscription samedi 4 septembre 2004 Statut Membre Dernière intervention 20 octobre 2013
3 oct. 2004 à 14:48
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
0
Inekman Messages postés 291 Date d'inscription dimanche 2 février 2003 Statut Membre Dernière intervention 30 juin 2006
3 oct. 2004 à 18:50
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.
0
Rejoignez-nous