Comparaison de deux dates

Résolu
jsutine -  
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je voudrais comparer deux dates afin d'effectuer un code si la première est plus récente et un autre si elle est plus ancienne.

$testDate = mssql_query ("SELECT CONVERT (VARCHAR(10), dtModification, 103) AS 'dateModification' FROM mytable");
$jourModif = substr ($testDate, 0, 2);
$moisModif = substr ($testDate, 4, 2);
$anneeModif = substr ($testDate, 6, 4);
mktime(0,0,0,$moisModif, $jourModif, $anneeModif)

ensuite quand je teste mes deux dâte, le test se fait et j'entre bien dans ma condition mais j'ai une erreur:
Warning: mktime() expects parameter 4 to be long, string given

Je n'arrive pas à la résoudre,
Merci pour votre aide,
A voir également:

8 réponses

Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
il faut que tu passes par le timestamp donc par la fonction mktime(...)

mais quand tu fais $testDate = mssql_query ("SELECT CONVERT (VARCHAR(10), dtModification, 103) AS 'dateModification' FROM mytable");

il te manque qq chose il faut extraire les données trouvées par mysql_query

par un mysql_fetch_row(...) ou autre pour pouvoir exploiter les resultats
1
Thamior Messages postés 264 Date d'inscription   Statut Membre Dernière intervention   47
 
Bonjour,

Je te propose d'aller sur le manuel PHP :

https://www.php.net/mktime

Bon chance à toi,
0
jsutine
 
J'ai fais avec ça seulement ça ne m'aide pas. Le soucis c'est que pour séparer le jour mois et l'année je converti ma date en string or mktime visiblement veut des long...

Si je fait mktime($madate) j'ai aussi des warning donc je suis totalement perdue sur comment je dois procéder.
0
Versus92 Messages postés 133 Date d'inscription   Statut Membre Dernière intervention   1
 
moi je peu peut-être t'aider mais avant je peu rien faire si je comprend rien à l'utilité de ton program :S
c'est quoi le but ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Thamior Messages postés 264 Date d'inscription   Statut Membre Dernière intervention   47
 
Avant de faire le substr de $testDate, as-tu regarder ce que cette variable contenait ?

Versus, l'aide doit être indépente du programme et fait attention à ton écriture, le sms n'est pas le bienvenu ici, merci.
0
Versus92 Messages postés 133 Date d'inscription   Statut Membre Dernière intervention   1
 
Moi je dis que le "sms" est bienvenu :D
tu aprendra plus tard que ce que TU n'apréci pas peut être aprécié par les autres et puis c'est lisible attends par rappaort à :

slt T V Bi1 ? Moua JV bi1 tkt pr mua C la form ...
bon A2m1 slt.

c'est juste une écritur bourée d'orthographe mais rien de plus la mienne c'est pas "sms" .
0
jsutine
 
$testDate contient une dâte au format jj/mm/aaaa convertie en Varchar sinon elle est dans un autre format plus difficile à exploier.

L'utilité est de comparer une dâte avec une dâte d'expiration qui est dans ma base de donnée, ainsi tu sais si la donnée est encore valable ou non.
0
Versus92 Messages postés 133 Date d'inscription   Statut Membre Dernière intervention   1
 
j'ai une solution mais elle est longue c'est de convertire la date en nombre et tu voi si le nombre de la date entrée
est superieure à l'actuelle :)

genre 22/07/2009 tu met 22+7*31+2009*12*31
ça donne un nombre et tu fait le même calcule avec la date actuelle

c'est pas exacte le calcul que j'ai fait mais je pense que ça marche au point de vue anteriorité-superiorité :)
0