NPDS

logo

Gestion de contenu
et de communauté

5 visiteur(s) et 0 membre(s) en ligne.
logo

Au delà de la gestion de contenu 'classique', NPDS met en oeuvre un ensemble de fonctions spécifiquement dédiées à la gestion de Communauté et de groupes de travail collaboratif.

logo

Il s'agit d'un Content & Community Management System (CCMS) robuste, sécurisé, complet, performant et parlant vraiment français.

logo

Gérez votre Communauté d'utilisateurs, vos groupes de travail collaboratif, publiez, gérez et organisez votre contenu dynamique !

Index du forum »»  Le coin des codeurs »» Calcul de dates

Calcul de dates#6156

3Contributeur(s)
AnonymeTribal-Dolphingilbau
3 Modérateur(s)
developpeurjpbJireck
Anonyme Anonymeicon_post
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 Tribal-Dolphinicon_post
- 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 !!
:-D
Anonyme Anonymeicon_post
Une fois de plus MERCI Tribal-Dolphin :=!
Anonyme Anonymeicon_post
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) :-o
Pfff...! ils auraient pu faire qque chose de plus pratique qd-mm

Anonyme Anonymeicon_post
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 Tribal-Dolphinicon_post
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
Anonyme Anonymeicon_post
Oui mais mytime est un tampon Unix
Je peux comparer une date mysql et un tampon ???
Tribal-Dolphin Tribal-Dolphinicon_post
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 ........
Anonyme Anonymeicon_post
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 Anonymeicon_post
Désolé, question bête ... :-D
Je viens de voir qu'il suffit de faire :
date("Y-m-d H:i:s", $timestamp);