PHP - temps entre 2 date : TIMEDIFF ?

Fermé
Signaler
-
 mady -
Bonjour,

Je cherche à récupuerer le temps entre deux dates.
Par ex : '26 June 2009 17:00:04' et '26 June 2009 16:59:46'

Pour cela j'essai d'utiliser la fonction sql TIMEDIFF, mais cela me retourne 00:00:00.

Mon code :

$sql_temps = mysql_query("SELECT TIMEDIFF('".$data_user_detail['date_fin']."','".$data_user_detail['date_first']."')");
$tempsTotal = mysql_fetch_array($sql_temps);

echo $tempsTotal[0];


Auriez vous une idée sur le problème ?

Merci d'avance

9 réponses

Messages postés
1566
Date d'inscription
mercredi 3 octobre 2007
Statut
Membre
Dernière intervention
23 mars 2020
420
"TIMEDIFF(expr,expr2)

TIMEDIFF() retourne la durée entre l'heure de début expr et l'heure de fin expr2. expr et expr2 sont des expressions de type TIME ou DATETIME, et doivent être de même type.

mysql> SELECT TIMEDIFF('2000:01:01 00:00:00', '2000:01:01 00:00:00.000001');
-> '-00:00:00.000001'
mysql> SELECT TIMEDIFF('1997-12-31 23:59:59.000001','1997-12-30 01:01:01.000002');
-> '46:58:57.999999'

TIMEDIFF() a été ajoutée en MySQL 4.1.1. "
extrait de http://dev.mysql.com/doc/refman/5.0/fr/date-and-time-functions.html

Tes dates ne sont tous simplement pas bien formaté. Une date écrit comme "26 June 2009 17:00:04" n'est pas du type DATETIME (cf :http://dev.mysql.com/doc/refman/5.0/fr/date-and-time-types.html)
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

merci c'est cool, timediff marche nikel sur mysql
Messages postés
1566
Date d'inscription
mercredi 3 octobre 2007
Statut
Membre
Dernière intervention
23 mars 2020
420
Bonjour,
tu peux convertir les deux premières dates en timestamp, faire la soustraction et reconvertir en qqchose de lisible?

Je ne connais pas cette fonction, mais ne devrais tu pas mettre :'26 June 2009 16:59:46' et '26 June 2009 17:00:04' au lieu de : 26 June 2009 17:00:04' et '26 June 2009 16:59:46'
???
Bonjour,

Je te propose d'aller regarder le manuel de PHP qui propose des fonctions pour les types dates :

- https://www.php.net/manual/fr/function.date.php
- https://www.php.net/manual/fr/function.mktime.php

En espèrant que ça t'aide.
Alors voila, j'ai essayer de convertir d'abords avec timestamp, mais ca ne focntionne pas.

Faut dire que ce que je rentre dans mon TIMEDIFF sont des temps au format datetime (généré en php).

Merci Thamior pour les liens.
du 04 juillet 2007 00h au 27 décembre 2011 8h
Je vais essayer ca!
Lucas34, tu veux dire inverser les deux dates ?
non parceque sinon j'aurais un temps négatif, je fais une soustraction.
Je vois...

Dans ce cas je vais essayer de m'y prendre autrement.

Merci pour les réponses.