bonjour a tous,

je ne suis pas en panne sur un de mes scripts, je suis en train de voir pour le faire évoluer.
Le soucis c'est que je travail sur une bbd dont une table contient du datetime. Je souhaiterai faire ceci,mais je ne suis pas à l'aise avec cet chose là, surtout qu'il va y avoir du mouvement avec le passage à php5.4

$now; //on va chercher la date en actuel dans ce format 2013-02-19 13:44:42 
//recherche dans la bd une ligne, ça c'est bon je sais faire et ça me sort $dernier_rapport
$dernier_rapport=2013-02-19 20:56:41;
if (($dernier_rapport+5min)<$now)
{echo "appareil craché";}
else if (($dernier_rapport+2min)<$now)
{echo "perte signal radar";}
else {
    //routine d'affichage tableau condition normal
    }

si quelqu'un avait un exemple simple ou un bonne piste ça m'arrangerai

merci d'avance flo

4 réponses


flo3376
Auteur
Réponse acceptée

j'ai réussi à faire ce que je voulais, mais je ne sais en quelle version php c'est, ça va continuer de fonctionner en php 5.4?

<?php
$date1 = date_create();
$date=date_format($date1, 'Y-m-d H:i:s');
echo $date;
echo'</br>';
date_modify($date1, '+5 minutes');
echo $date1=date_format($date1, 'Y-m-d H:i:s');
echo'</br>';
if ($date>$date1)
{echo"temps dépassé";}
else
{echo"il reste du temps";}
?>

A mon sens le plus simple serait de travailler avec les timestamp. C'est le seul format universel pour les dates.

flo3376
Auteur

je suis bien d'accord, mais le soucis c'est que cette table est géré par un script complexe dont je ne suis pas l'auteur et que je ne peux pas retoucher.

Personnellement j'aurais mis en timestamp $now et $dernier_rapport. Ensuite tu fait $now - $dernier_rapport. Tu récupères ainsi le temps passé entre les modifications. De cette manière tu seras sûr d'avoir un système qui tiendra avec les versions. Le timestamp est un élément qui n'évoluera pas.