Différence de dates - PHP - Programmation
Marsh Posté le 14-04-2004 à 13:48:20
je ne sais pas si il existe des fonctions toute faite mais au pire tu peux utiliser la fonction mktime(), faire la soustraction des timestamp et calculer le nb de jour ...
Marsh Posté le 14-04-2004 à 13:54:56
mrbebert a écrit : Elle viennent d'où ces dates ? D'une base de données ? |
c'est vrai que si ca vient d'une bdd tu peux le faire directement en sql (avec mysql en tout cas) ...
Marsh Posté le 14-04-2004 à 15:03:08
_pegaze_ a écrit : |
Je pensais surout à la fonction mysql (mais il existe l'équivalent dans les autres SGBD) TO_DAYS(). Cette fonction renvoie le numéro de jour d'une date.
Dans beaucoup de situations, cela facilite énormément les choses
Marsh Posté le 14-04-2004 à 15:41:15
question au passage :
ca existe une fonction mysql TO_HOURS ??? (g cherché mais sans succès sur le net )
A moi aussi ca me faciliterait bien la tache
Marsh Posté le 14-04-2004 à 15:52:06
LKoLRn a écrit : question au passage : |
dans la doc mysql que j'ai il n'en font pas mention
Marsh Posté le 14-04-2004 à 16:04:07
C un scandale! Je m'insurge!
Pkoi s'interesser plutot aux jours qu'aux heures Non a la discrimination...
(kel talent )
Marsh Posté le 14-04-2004 à 17:28:51
LKoLRn a écrit : question au passage : |
Tu as la fonction HOUR() qui renvoie l'heure
SELECT HOUR('10:05:03') renvoit 10
Il y a aussi SECOND(), MINUTE() et plein d'autres
Marsh Posté le 14-04-2004 à 19:59:34
Merci de votre aide.
Voilà ce que j?ai réussi à réaliser cet après midi (je n?avais pas beaucoup de temps pour le faire), ce n?est donc pas du tout optimisé. Avez vous justement quelques remarques à faire ?
De plus, j?ai mis quelques commentaires, est-ce que vous pouvez m?éclairer sur ces points.
Code :
|
Marsh Posté le 14-04-2004 à 20:37:34
C'est pas très clair tout ca
Il y a à la fois une date de fin et une date de début pour chaque enregistrement ?
Marsh Posté le 14-04-2004 à 20:43:40
Je savais bien que j'étais pas clair...
Effectivement, un enregistrement dans matable contient :
nom datedebut datefin
Et j'aimerais affiché dans un tableau :
nom1 datedebut1 datefin1 nbredejour1
nom2 datedebut2 datefin2 nbredejour2
....
(nbredejour1 étant par ex la différence (en jour) de la datedebut1 et la datefin1)
Marsh Posté le 14-04-2004 à 20:48:07
$requete = "SELECT nom, datedebut, datefin, TO_DAYS(datefin)-TO_DAYS(datedebut) AS nb_jours FROM table";
$res = mysql_query($requete);
if (! $res) {
echo "ERREUR requete";
exit;
}
while ($r = mysql_fetch_array($res)) {
echo '<tr><td>' . $r['nom'] . '<td>' . $r['datedebut'] . '<td>' . $r['datefin'] . '<td>' . $r['nb_jours'];
}
Dans ta table, les colonne de date ont bien le format "date" ??
(poste la structure de la table utilisée)
Marsh Posté le 14-04-2004 à 20:50:50
Oui, elles sont du format 2003/10/27 par ex.
Je te remercie pour cette requete plus simple, je vais la tester.
Marsh Posté le 14-04-2004 à 13:26:35
JE réalise un site personnel en php et j'ai besoin de faire la différence de deux dates pour me donner le nombre de jours entre ces deux dates...
Je m'explique :
- La première date est le 25/12/2003
- La deuxième date est le 05/01/2004
-> Je voudrais réaliser une différence entre ces deux dates pour que ca me donne : 11 jours, mais je n'y suis pas parvenu.
Qq1 pourrait m'éclairer svp ?