Calcul de difference de date avec php

Par hallowin5, il y a 2 ans


Bonour a tous et a toutes, j'espère que tout le monde va bien, voilà j'ai un petit soucis avec les calculs de date avec php. Voici mon problème: je veux afficher un message 'ok' qui dépend d'une conditions qui est la suivante: si la date de ma variable dernier_traitement est supérieur a la date de l'instant T moins une minute, on affiche le méssage sauf que je ne sais pas comment faire 'date à l'instant T moins une minute'
Merci beaucoup d'avance pour vos eventuelles solutions

$dernier_traitement=$tab['date_dernier_traitement']; $status_cr=$tab['status_cr']; if($status_cr==1 && $dernier_traitement> DATE_SUB (date('y/m/d H:i:s'),'1 MINUTE')){ echo 'ok';}

Ce que je veux

vérifier qu'il ne s'est pas écoulé plus d'une minute entre l'instant T et la date du dernier traitement.
$dernier_traitement est au format date('y/m/d H:i:s')

Ce que j'obtiens

Décrivez vos éventuelles erreurs ou ce que vous obtenez à la place de ce que vous attendez :(

5 réponses

Kareylo, il y a 2 ans

Quelque chose comme ça devrait faire ce que tu veux si tes dates sont bien en DateTime :

$dateInterval = $dernier_traitement->diff(new DateTime()); if ($dateInterval->i > 1) { // Il y a plus d'une minute d'écart }

Sinon, pour passer d'une string à un DateTime :

$dernierTraitementDT = DateTime::createFromFormat('y/m/d H:i:s', $dernier_traitement); $dateInterval = $dernierTraitementDT->diff(new DateTime()); if ($dateInterval->i > 1) { // Il y a plus d'une minute d'écart }
hallowin5, il y a 2 ans

Bonjour Karelo et merci pour ta réponse, j'ai testé le code mais j'ai cette erreur qui s'affiche: Fatal error: Uncaught Error: Call to a member function diff() on string

Grafikart, il y a 2 ans

Fait bien attention diff s'utilise sur un objet date, donc tu dois convertir ta chaine en Date (ce que karelo montre sur sa première ligne)

hallowin5, il y a 2 ans

j'avoue que je suis un peu perdu là, actuellement je regarde des tutos sur youtube relatif aux date , mais ils parlent de timestamp, de formatage mais pas vraiment de ce que je recherche

hallowin5, il y a 2 ans

merci grafikart et kareylo, j'ai pu trouver une solution au problème grace a vous