Retrouver la date d'il y'a X jours

Retrouver la date d'il y'a X jours - PHP - Programmation

Marsh Posté le 03-10-2004 à 13:17:49    

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 par exemple 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 à me donner pour résoudre ce problème ?
 
Merci à vous.
 
Inekman.

Reply

Marsh Posté le 03-10-2004 à 13:17:49   

Reply

Marsh Posté le 03-10-2004 à 13:35:19    

Tu fais un mktime de la date, et dans le champ "jour", tu mets "date("d" )-10"....
 
en gros ça donne à peu près ça :
$ma_date = date("d/m/Y", mktime(0, 0, 0, date("m" ), date("d" )-10, date("Y" ));

Reply

Marsh Posté le 03-10-2004 à 14:19:03    

Merci beaucoup pour ton aide Snoopy, ça marche impek ;-)
 
Par contre, quand je fais ça :
 


$dte_10 = date("d/m/Y", mktime(0, 0, 0, date("m" ), date("d" )-10, date("Y" )));
 
$dte_file = date("d/m/Y", filectime($dir.'/'.$item));
       
if ($dte_file > $dte_10)
{
   blabla...
}
else
{
   blabla2...
}


 
Il exécute les instructions blabla2 quand le jour de $dte_file est supérieur à $dte_10 sans tenir compte du mois ni de l'année...c'est po zuste :'(
 
Elle est où l'erreur que je ne vois pas ? [:airforceone]


Message édité par Inekman le 03-10-2004 à 14:23:01
Reply

Marsh Posté le 03-10-2004 à 14:45:18    

A mon avis tu devrais plutot essayer de comparer les timestamps que les dates formatées à partir de ces timestamps

Reply

Marsh Posté le 04-10-2004 à 12:47:55    

Lorsque tu fais un echo de ta date retournée unix, tu as quoi ????
 
Si les deux dates sont bien valides, alors oui, moi aussi je pencherais pour une comparaison de timestamp .... mais cela me parait bizarre que la fonction date se trompe.

Reply

Marsh Posté le 04-10-2004 à 15:36:15    

Sinon, tu peux aussi partir sur la meme base que tu as décrite au début...
 
Exemple, nous sommes le 7/06/04 et tu voudrais la date s'il y a 10 jours ... 7 - 10 = -3
 
->Chiffre negatif, donc on change de mois, donc tu fais un 06-1 ( = 05, donc mai), tu sais que mai comporte 31 jours, donc 31-3 = 28 ... 10 jours avant le 7 juin, on etait le 28 mai ...
 
Je sais, c'est barbare :D


Message édité par Dj YeLL le 04-10-2004 à 15:37:13
Reply

Marsh Posté le 04-10-2004 à 15:39:15    

mouais mais la pariel galere de Nb de jour/Mois !
 
sinon tu retire  
10j*24h*60min*60sec  
 
a la date actuelle et tu refait date() par dessus  !


Message édité par jolly le 04-10-2004 à 15:39:46
Reply

Marsh Posté le 04-10-2004 à 15:44:33    

jolly a écrit :

mouais mais la pariel galere de Nb de jour/Mois !
 
sinon tu retire  
10j*24h*60min*60sec  
 
a la date actuelle et tu refait date() par dessus  !


 
En ce qui me concerne, je pense que c'est la solution la plus simple ...
 
Tu retires 86400*n à la date actuelle (où n représente le nombre de jour a retirer)
 
++


Message édité par Dj YeLL le 04-10-2004 à 15:44:48
Reply

Marsh Posté le 04-10-2004 à 23:06:19    

jolly a écrit :

mouais mais la pariel galere de Nb de jour/Mois !
 
sinon tu retire  
10j*24h*60min*60sec  
 
a la date actuelle et tu refait date() par dessus  !


 
Ce qui serait bien, c'est une fonction qui le fait automatiquement en PHP..... http://www.php.net/manual/fr/function.mktime.php
 :whistle:


Message édité par Snoopy71 le 04-10-2004 à 23:13:17
Reply

Marsh Posté le 04-10-2004 à 23:28:25    

Et ne parlons même pas de strtotime qui permets carrèment de la dire avec des mots...

Reply

Marsh Posté le 04-10-2004 à 23:28:25   

Reply

Marsh Posté le 05-10-2004 à 00:05:21    

En fait, ce que je souhaitais faire c'est vérifier si la date d'un fichier est supérieur ou non à la date d'aujourd'hui - 10 jours :-).
 
Par une magouille chelou, j'ai réussi à obtenir ce que je voulais. En fait, j'ai récupéré la date du fichier sous la forme AAAAMMJJ donc un fichier datant d'aujourd'hui aurait la date 20041005 et donc par rapport à il y'a 10 jours, on aurait 20040925 donc 20041005 > 20040925 et c'est pile poil la condition que je voulais vérifier.
 
c d'la magouille, mais ça marche :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed