Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Calculer la duree entre 2 dates

1 réponse
Avatar
jpwitz
Bonjour

Je voudrais calculer le temps écoulé entre deux données date extraites
par requête d'un champ date qui se présentent sous la forme par exemple

2010-01-25 12:44:38

lorsque j'utilise la fonction date_diff()

ex: $d=date_diff("2010-01-25 12:44:38" , "2010-01-25 12:44:44");

j'obtiens le message d'erreur:

date_sub() expects parameter 1 to be DateTime

Où se situe l'erreur?

D'autre part, en consultant l'aide, je trouve l'explication suivante:
public DateInterval DateTime::diff ( DateTime $datetime [, bool
$absolute ] )

à laquelle je n'y comprend rien.

QQ1 pourrait-il m'indiquer une syntaxe correcte?
Merci de votre aide.

Jean-Paul

1 réponse

Avatar
Olivier Miakinen
Bonjour,

Le 25/01/2010 16:59, jpwitz a écrit :

Je voudrais calculer le temps écoulé entre deux données date extraites
par requête d'un champ date qui se présentent sous la forme par exemple

2010-01-25 12:44:38



Des dates extraites d'une base de données ? Dans ce cas ne t'embête pas
à manipuler ces dates en PHP, il existe certainement des fonctions bien
plus performantes en SQL !

Si tu ne t'en sors pas avec la doc, tu peux poser tes questions dans le
groupe fr.comp.applications.sgbd (non modéré).

lorsque j'utilise la fonction date_diff()

ex: $dÚte_diff("2010-01-25 12:44:38" , "2010-01-25 12:44:44");

j'obtiens le message d'erreur:

date_sub() expects parameter 1 to be DateTime

Où se situe l'erreur?



La fonction date_sub() te dit que son premier paramètre doit être un
objet de la classe DateTime. D'ailleurs dans la doc de la fonction
date_diff() on voit que cette fonction prend deux paramètres DateTime
et non pas des chaînes de caractères comme tu lui as passées :
<http://fr.php.net/date_diff>.

D'autre part, en consultant l'aide, je trouve l'explication suivante:
public DateInterval DateTime::diff ( DateTime $datetime [, bool
$absolute ] )

à laquelle je n'y comprend rien.



C'est la même chose, si ce n'est que ce qui était le premier paramètre
devient l'objet sur lequel on peut appliquer un diff().

QQ1 pourrait-il m'indiquer une syntaxe correcte?



Remplacer "2010-01-25 12:44:38" par new DateTime("2010-01-25 12:44:38")
et idem pour le second paramètre. Mais encore une fois c'est ÀMHA une
mauvaise idée de le faire en PHP : demande le diff à SQL !

Cordialement,
--
Olivier Miakinen