connaitre si une date est plus grande qu'une autre

Eléphant du PHP | 248 Messages

21 août 2008, 13:23

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

ViPHP
ViPHP | 3607 Messages

21 août 2008, 13:48

Il te faut utiliser mktime(), qui retournera un entier (timestamp) à partir de tes dates, donc tu faits
<?php
if(mktime(...)>mktime(...)){
    //blablabla
}
?>

Eléphant du PHP | 248 Messages

21 août 2008, 13:56

merci pour ta reponse mais en ce qui concerne les 2 ans minimum

je fais comment

merci d'avance

ViPHP
ViPHP | 3607 Messages

21 août 2008, 14:01

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?

Eléphant du PHP | 248 Messages

21 août 2008, 14:12

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

ViPHP
ViPHP | 3607 Messages

21 août 2008, 14:17

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 ;)

Eléphant du PHP | 248 Messages

21 août 2008, 14:24

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

ViPHP
ViPHP | 3607 Messages

21 août 2008, 14:25

alors si tu fait un var_dump($ecart), je pense que tu auras une surprise ;)

Eléphant du PHP | 248 Messages

21 août 2008, 14:30

OUps j'ai eu une réponse bizare


int(-116861336)

ViPHP
ViPHP | 3607 Messages

21 août 2008, 14:31

Donc qu'est-ce que tu en déduit?

Eléphant du PHP | 248 Messages

21 août 2008, 14:32

j'en déduit que j'ai fait une connerie quelques part :(

ViPHP
ViPHP | 5924 Messages

21 août 2008, 14:33

Relis la documentation de mktime()…

ViPHP
ViPHP | 3607 Messages

21 août 2008, 14:45

// ça c'est ton écart de date, faut peut-être inversé, les deux partie mais bon ça c'est à toi de voir...

Mammouth du PHP | 1353 Messages

21 août 2008, 14:53

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 ?
Tell me and I forget. Teach me and I remember. Involve me and I learn.

Eléphant du PHP | 248 Messages

21 août 2008, 16:42

J'ai essayé de lire sur mktime mais j'arrive tjs pas à m'en sortir :cry: