El truco para la manipulación y la comparación de fechas y horas en PHP es almacenar los valores de fecha/hora en una variable de número entero y usar el() funciones mktime(), fecha() y strtotime. La representación entera de una fecha/hora es el número de segundos desde la medianoche de 1970 a enero de 1, que se conoce como la 'época'. Una vez que su fecha/hora esté en forma de número entero, podrá compararla de manera eficiente con otras fechas que también están en forma de número entero.
Por supuesto, ya que lo más probable es que reciba valores de fecha/hora de solicitudes de página y consultas de selección de base de datos, necesitará convertir su cadena de fecha/hora en un entero antes de poder hacer ninguna comparación o aritmética.
Suponiendo que está seguro de que las variables $ resttimefrom y $ resttimeto contienen una hora con formato adecuado, puede usar la función strtotime() para convertir su tiempo de cadena en un entero. strtotime() toma una cadena que está formateada como una fecha y la convierte a la cantidad de segundos desde epoch.
$time_from = strtotime($resttimefrom);
$time_to = strtotime($resttimeto);
Nota al margen: strtotime() siempre devuelve una fecha completa en forma de número entero. Si su cadena no tiene una fecha, solo una hora, strtotime() devuelve la fecha de hoy junto con la hora que dio en la cadena.Sin embargo, esto no es importante para usted, porque las dos fechas devueltas por strtotime() tendrán la misma fecha y la comparación de las dos variables tendrá el efecto deseado de comparar las dos veces, ya que las fechas se anulan mutuamente.
Al comparar los dos enteros, tenga en cuenta que cuanto antes sea la fecha/hora, menor será su valor entero. Así que si quieres ver si $ time_from es anterior a $ time_to, que la presente:
if ($time_from < $time_to)
{
// $time_from is ealier than $time_to
}
Ahora comparar una Fecha/hora con la fecha actual del sistema/hora, sólo tiene que utilizar mktime() sin parámetros para representar la fecha/hora actual:
if ($time_from < mktime())
{
// $time_from is in the past
}
Gracias a sus una lógica sencilla! – Rajasekar
posible duplicado de [PHP - Compare Date] (http://stackoverflow.com/questions/2113940/php-compare-date) – Kuf
Es porque $ resttimefrom y $ resttimeto no están definidos – Black