Rechercher : dans
Par :

PHP - temps entre 2 date : TIMEDIFF ?

Dernière réponse le 10 jui 2009 à 17:44:00 Anonyme, le 10 jui 2009 à 15:18:05 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « PHP temps entre 2 date : TIMEDIFF ? » dans :
[PHP] Date de dernière modification VoirGrâce à PHP il est possible d'afficher automatiquement la date de dernière modification de la page en cours : ...
Vérifier le format d'une date en PHP VoirIl existe plusieurs méthodes pour verifier le format d'une date en PHP, vous pouvez par exemple découper la chaîne puis tester les valeurs de chaque élément. Plus simplement nous utiliserons les expressions régulières. Pour valider une date au...
Différence entre dates avec la fonction DATEDIF VoirLa fonction DATEDIF n'est pas documentée dans Excel, mais par contre sur CCM vous pouvez trouver les possibilités offertes. En voici un résumé.   La syntaxe =DATEDIF(date début;date fin;type de calcul) date début : doit être une valeur date...
PHP - Les variables VoirConcept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...

1

Archeus01, le 10 jui 2009 à 15:22:25

Bonjour,
tu peux convertir les deux premières dates en timestamp, faire la soustraction et reconvertir en qqchose de lisible?

Répondre à Archeus01

2

lucas34, le 10 jui 2009 à 15:23:21

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'
??? Lucas

Répondre à lucas34

3

Anonyme, le 10 jui 2009 à 15:23:32

Je vais essayer ca!

Répondre à Anonyme

4

Anonyme, le 10 jui 2009 à 15:25:00

Lucas34, tu veux dire inverser les deux dates ?
non parceque sinon j'aurais un temps négatif, je fais une soustraction.

Répondre à Anonyme

5

Thamior, le 10 jui 2009 à 15:27:32

Bonjour,

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

- http://fr.php.net/manual/fr/function.date.php
- http://fr.php.net/manual/fr/function.mktime.php

En espèrant que ça t'aide.

Répondre à Thamior

6

Anonyme, le 10 jui 2009 à 15:34:48

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.

Répondre à Anonyme

7

Archeus01, le 10 jui 2009 à 16:26:54

"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)

Répondre à Archeus01

8

 Anonyme, le 10 jui 2009 à 17:44:00

Je vois...

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

Merci pour les réponses.

Répondre à Anonyme