L'astuce pour manipuler et comparer les dates et heures en PHP est de stocker des valeurs de date/heure dans une variable entière et d'utiliser la, la date mktime()() et strtotime(). La représentation entière d'une date/heure est le nombre de secondes depuis minuit, 1970-Jan-1, qui est appelé «époque». Une fois que votre date/heure est sous la forme d'un nombre entier, vous serez en mesure de le comparer efficacement à d'autres dates qui sont également sous forme entière. Bien sûr, puisque vous recevrez probablement des valeurs de date/heure à partir des requêtes de page et des requêtes de sélection de base de données, vous devrez convertir votre chaîne de date/heure en entier avant de pouvoir effectuer une comparaison ou une arithmétique. En supposant que vous êtes sûr que les variables $ resttimefrom et $ resttimeto contiennent un temps correctement formaté, vous pouvez utiliser la fonction strtotime() pour convertir votre temps de chaîne en entier. strtotime() prend une chaîne formatée comme une date et la convertit en nombre de secondes depuis l'époque.
$time_from = strtotime($resttimefrom);
$time_to = strtotime($resttimeto);
Note de côté: strtotime() renvoie toujours une date complète sous forme entière. Si votre chaîne n'a pas de date, strtotime() renvoie uniquement la date du jour avec l'heure indiquée dans la chaîne.Ce n'est pas important pour vous, car les deux dates retournées par strtotime() auront la même date et comparer les deux variables aura l'effet désiré de comparer les deux fois car les dates s'annulent mutuellement. Lorsque vous comparez les deux entiers, gardez à l'esprit que plus la date et l'heure sont précoces, plus sa valeur entière sera petite. Donc, si vous voulez voir si time_from $ est plus tôt que time_to $, vous auriez ceci:
if ($time_from < $time_to)
{
// $time_from is ealier than $time_to
}
Maintenant, pour comparer une date/heure avec la date système/heure actuelle, il suffit d'utiliser mktime() sans paramètre pour représenter la date/heure actuelle:
if ($time_from < mktime())
{
// $time_from is in the past
}
Merci Its a une logique simple! – Rajasekar
duplication possible de [PHP - Date de comparaison] (http://stackoverflow.com/questions/2113940/php-compare-date) – Kuf
C'est parce que $ resttimefrom et $ resttimeto ne sont pas définis – Black