Сравнение дат PHP, timestamp


Рассмотрим случай, когда при выборке из базы MySQL, значения timestamp в формате YYYY-MM-DD HH:MM:SS.
Например 2014-06-10 03:14:07. Вам необходимо сравнить полученные даты между собой либо с текущей.
Поможет функция strtotime().
Задача:
в переменных $time_from и $time_to содержатся значения интервала времени, нужно проверить, попадает ли текущее время в этот интервал.
Решение:

$now = strtotime('now');
if ($now >= strtotime($time_from) && $now <= strtotime($time_to)){
	echo 'Ура, мы попали в интервал!';
}
else{
	echo 'Или слишком рано или совсем поздно!';
}

Если нужно ограничить выборку то лучше это делать в запросе MySQL, например:
SELECT * FROM `tbl_table` WHERE UNIX_TIMESTAMP(NOW()) >= UNIX_TIMESTAMP(`time_from`) AND UNIX_TIMESTAMP(NOW()) <= UNIX_TIMESTAMP(`time_to`)

Запись опубликована автором в рубрике PHP.

Добавить комментарий