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 ?