Хитрость в манипулировании и сравнении даты и времени в PHP заключается в том, чтобы хранить значения даты / времени в целочисленной переменной и использовать функции mktime (), date () и strtotime ().Целочисленная репрезентация даты / времени - это количество секунд с полуночи 1970 года по январь-1, которое называется «эпохой».Как только ваша дата / время будут в целочисленной форме, вы сможете эффективно сравнить их с другими датами, которые также находятся в целочисленной форме.
Конечно, поскольку вы, скорее всего, будете получать значения даты / времени со страницызапросы и запросы выбора базы данных, вам нужно преобразовать строку даты / времени в целое число, прежде чем вы сможете выполнить какое-либо сравнение или арифметику.
Предполагая, что вы уверены, что переменные $ resttimefrom и $ resttimeto содержат правильно отформатированное времяВы можете использовать функцию strtotime () для преобразования вашего строкового времени в целое число.strtotime () берет строку, отформатированную как дата, и преобразует ее в количество секунд с начала эпохи.
$time_from = strtotime($resttimefrom);
$time_to = strtotime($resttimeto);
Примечание: strtotime () всегда возвращает полную дату в целочисленной форме.Если в вашей строке нет даты, а только время, strtotime () возвращает сегодняшнюю дату вместе со временем, которое вы указали в строке.Это не важно для вас, потому что две даты, возвращаемые strtotime (), будут иметь одинаковую дату, и сравнение двух переменных даст желаемый эффект сравнения двух раз, поскольку даты взаимно отменяют друг друга.
Когда вы сравниваете два целых числа, имейте в виду, что чем раньше дата / время, тем меньше будет его целочисленное значение.Поэтому, если вы хотите увидеть, является ли $ time_from более ранним, чем $ time_to, у вас будет следующее:
if ($time_from < $time_to)
{
// $time_from is ealier than $time_to
}
Теперь, чтобы сравнить дату / время с текущей системной датой / временем, просто используйте mktime () снет параметров для представления текущей даты / времени:
if ($time_from < mktime())
{
// $time_from is in the past
}