|
Anonyme 19853
| Posté : 20-06-2003 11:29
Salut !
Comment peut-on faire des calculs et des comparaisons sur les dates ?
ex : je veux faire une requete ou je selectionne des articles ayant moins d'un mois.
select .... where 'date(Y-m-d)'<=date+30jours ; ?
(Je sais que c'est faux, c'est juste pour que vous compreniez ce que je veux faire).
Merci d'avance.... |
|
|
Tribal-Dolphin 4374
| Posté : 20-06-2003 12:08
- Convertir les dates en Tampon UNIX TIMESTAMP
- Calculer la valeur pour 30 jours (en clair => 30 jours en secondes)
- Après c'est des math !!
|  Profil
|
|
Anonyme 19853
| Posté : 20-06-2003 13:54
Une fois de plus MERCI Tribal-Dolphin
|
|
|
Anonyme 19853
| Posté : 20-06-2003 14:24
Donc, si j'ai bien compris, pour exprimer la condition : "date de moins d'un mois"
ça se traduit :
mktime(0,0,0,substr(date,8,2),substr(date,5,2),substr(date,0,4))>=(time() -2592000)
Pfff...! ils auraient pu faire qque chose de plus pratique qd-mm
|
|
|
Anonyme 19853
| Posté : 20-06-2003 14:34
sniff....
En plus ça passe pas dans une requete...
Il existe pas une fonction inverse à mktime(), c.a.d. qui reçoit un tampon UNIX et qui renvoie une date avec un format valide pour MySql ? |
|
|
Tribal-Dolphin 4374
| Posté : 20-06-2003 15:24
fait ton calcule en dehors de la requete !!
$time = mktime(0,0,0,substr(date,8,2),substr(date,5,2),substr(date,0,4));
$past = time()-2592000;
$mytime = $time - $past;
et tu met le $mytime dans ta requette |  Profil
|
|
Anonyme 19853
| Posté : 20-06-2003 16:05
Oui mais mytime est un tampon Unix
Je peux comparer une date mysql et un tampon ??? |
|
|
Tribal-Dolphin 4374
| Posté : 21-06-2003 23:38
ben change ton champs en tampon.
Ou alors récupére la date et convertis en tampon.
Ou encore, et je pense que c le plus efficace car évite les erreurs => Tu récup la date du jour en tampon - les 1 mois en tampon et tu converti en date SQL et ensuite, tu fait ta comparaison dans Mysql.
A mon avis, cette dernière solution et la meilleurs car elle évite des "absurditées" comme le 30 Fevrier ou le 31 Avril ........ |  Profil
|
|
Anonyme 19853
| Posté : 23-06-2003 10:09
Je suis tout à fait d'accord, ça serait la meilleure solution, mais comment faire pour convertir un tampon en date SQL ?
Est-ce qu'il existe une fonction ? |
|
|
Anonyme 19853
| Posté : 23-06-2003 10:52
Désolé, question bête ...
Je viens de voir qu'il suffit de faire :
date("Y-m-d H:i:s", $timestamp); |
|
|
Tribal-Dolphin 4374
| Posté : 23-06-2003 19:39
Tout compris |  Profil
|
|
gilbau 486
| |