Réponses:
Depuis PHP> = 5.2.2, vous pouvez utiliser la DateTime
classe en tant que telle:
if (new DateTime() > new DateTime("2010-05-15 16:00:00")) {
# current time is greater than 2010-05-15 16:00:00
# in other words, 2010-05-15 16:00:00 has passed
}
La chaîne transmise au constructeur DateTime est analysée selon ces règles .
Notez qu'il est également possible d'utiliser time
et des strtotime
fonctions. Voir la réponse originale .
new DateTime('2010-05-15')
n'est qu'un exemple, il peut s'agir de n'importe quel objet DateTime que vous avez initialisé précédemment.
$object
c'est un objet DateTime, je l'ai utilisé if (new DateTime() > $object) {}
et cela fonctionne mal. Mais if (time() > $bject->getTimeStamp()) {}
fonctionne correctement. @Salman A
Il existe également la classe DateTime qui implémente une fonction pour les opérateurs de comparaison.
// $now = new DateTime();
$dtA = new DateTime('05/14/2010 3:00PM');
$dtB = new DateTime('05/14/2010 4:00PM');
if ( $dtA > $dtB ) {
echo 'dtA > dtB';
}
else {
echo 'dtA <= dtB';
}
Vérifiez la fonction de PHP strtotime
pour convertir votre date / heure définie en un horodatage: http://php.net/manual/en/function.strtotime.php
Si strtotime
vous ne pouvez pas gérer correctement votre format de date / heure ("16h00" fonctionnera probablement mais pas "à 16h00"), vous devrez utiliser des fonctions de chaîne, par exemple substr
pour analyser / corriger votre format et récupérer votre horodatage via une autre fonction, par exemple mktime
.
Ensuite, comparez l'horodatage résultant avec la date / heure actuelle ( if ($calulated_timestamp > time()) { /* date in the future */ }
) pour voir si la date / heure définie est dans le passé ou dans le futur.
Je suggère de lire le PHP-doc sur les fonctions date / heure et de revenir ici avec une partie de votre code source une fois que vous êtes bloqué.
date_default_timezone_set('Asia/Kolkata');
$curDateTime = date("Y-m-d H:i:s");
$myDate = date("Y-m-d H:i:s", strtotime("2018-06-26 16:15:33"));
if($myDate < $curDateTime){
echo "active";exit;
}else{
echo "inactive";exit;
}
$myDate
cela sera égal à string (0) ""
.