Page 1 sur 2
connaitre si une date est plus grande qu'une autre
Posté : 21 août 2008, 13:23
par moileraz
Bonjour j'ai un petit souci avec des dates.
j'ai la date du jour et une date qu'un utilisateur a rentré dan un formulaire
j'aimerai savoir si la date que l'utilisateur a rentré est deux ans en moin que la date du jour
auriez vous une solution s'il vous plait
merci beaucoup pour votre aide
Posté : 21 août 2008, 13:48
par jojolapine
Il te faut utiliser mktime(), qui retournera un entier (timestamp) à partir de tes dates, donc tu faits
<?php
if(mktime(...)>mktime(...)){
//blablabla
}
?>
Posté : 21 août 2008, 13:56
par moileraz
merci pour ta reponse mais en ce qui concerne les 2 ans minimum
je fais comment
merci d'avance
Posté : 21 août 2008, 14:01
par jojolapine
Hum...
Je n'ai pas trop compris ta réponse...
Tu veux dire que tes dates on au minimum deux ans d'écart?
Si oui, où est le problème?
Posté : 21 août 2008, 14:12
par moileraz
oui enfait
si je fait
if(mktime(...)>mktime(.....)){
}
par exemple 2008-07-01 est plus grand que 2008-05-01 mais la ca fait deux mois d'ecart.
Enfait il faut que l'ecart entre la date du jour et la date de l'utilisateur sois 2ans ou plus
enfait ma question c'est comment validé que l'ecart est bien de 2 ans ou plus
merci pour tes reponses
Posté : 21 août 2008, 14:17
par jojolapine
Ok, j'ai compris alors c'est pas très compliqué, en fait, tu fait comme ça:
<?php
$ecart=mktime(/*donnée formulaire*/)-time(); // ça c'est ton écart de date, faut peut-être inversé, les deux partie mais bon ça c'est à toi de voir...
$deuxans=mktime(0,0,0,0,0,2);
if($ecart>$deuxans){
//blablabla
}
Voilà, c'est dans cet ordre d'idée

Posté : 21 août 2008, 14:24
par moileraz
merci beaucoup pour ton aide alors j'ai ce code :
$annee_debut="2005";
$mois_debut="08";
$jour_debut="13";
$ecart=mktime(0, 0, 0, $jour_debut, $mois_debut, $annee_debut)-time();
$deuxans=mktime(0,0,0,0,0,2);
if($ecart>=$deuxans){
echo "ok";
}
Mais ca m'affiche une page blanche
Posté : 21 août 2008, 14:25
par jojolapine
alors si tu fait un var_dump($ecart), je pense que tu auras une surprise

Posté : 21 août 2008, 14:30
par moileraz
OUps j'ai eu une réponse bizare
int(-116861336)
Posté : 21 août 2008, 14:31
par jojolapine
Donc qu'est-ce que tu en déduit?
Posté : 21 août 2008, 14:32
par moileraz
j'en déduit que j'ai fait une connerie quelques part

Posté : 21 août 2008, 14:33
par Sékiltoyai
Relis la documentation de mktime()…
Posté : 21 août 2008, 14:45
par jojolapine
// ça c'est ton écart de date, faut peut-être inversé, les deux partie mais bon ça c'est à toi de voir...
Posté : 21 août 2008, 14:53
par guilt92
Excusez moi de m'immiscer, mais :
$deuxans=mktime(0,0,0,0,0,2);
Ca me parait faux, quand on sait que le timestamp commence le 01/01/1970, pour moi :
$deuxans=mktime(0,0,0,01,01,1972);
Si je me trompe, peut on m expliquer pourquoi ?
Posté : 21 août 2008, 16:42
par moileraz
J'ai essayé de lire sur mktime mais j'arrive tjs pas à m'en sortir
