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

Как я могу проверить, является ли дата в формате «2008-02-16 12:59:57» менее 24 часов назад?

if (strtotime("2008-02-16 12:59:57") >= time() - 24 * 60 * 60) { /*LESS*/ } 

Просто добавив еще один ответ, используя относительные даты strtotime :

 $date = '2008-02-16 12:59:57'; if (strtotime("$date +1 day") <= time()) { // Do something } 

Я думаю, что это делает код более читаемым.

 if ((time() - strtotime("2008-02-16 12:59:57")) < 24*60*60) { // less than 24 hours ago } 

например, через strtotime и time ().
Разница должна быть меньше 86400 (секунд в день).

 <?php echo 'now: ', date('Ymd H:i:s'), "\n"; foreach( array('2008-02-16 12:59:57', '2009-12-02 13:00:00', '2009-12-02 20:00:00') as $input ) { $diff = time()-strtotime($input); echo $input, ' ', $diff, " ", $diff < 86400 ? '+':'-', "\n"; } 

печать

 now: 2009-12-03 18:02:29 2008-02-16 12:59:57 56696552 - 2009-12-02 13:00:00 104549 - 2009-12-02 20:00:00 79349 + 

только последняя дата / время испытания составляет менее 24 часов в прошлом.

Php имеет функцию сравнения между двумя объектами даты / времени , но мне это не очень нравится. Это может быть неточным.

То, что я делаю, это использовать strtotime (), чтобы сделать временную метку unix из объекта даты, а затем сравнить ее с выходом time ().

Просто используйте его …..

 if(strtotime($date_start) >= strtotime($currentDate)) { // Your code } 

Может быть, это будет проще понять …

 $my_date = '2008-02-16 12:59:57'; $one_day_after = date('Ymd H:i:s', strtotime('2008-02-16 12:59:57 +1 days')); if($my_date < $one_day_after) { echo $my_date . " is less than 24 hours ago!"; } else { echo $my_date . " is more than 24 hours ago!"; } 

Вы можете использовать Simple PHP для этого:

 $date = new simpleDate(); echo $date->now()->subtractHour(24)->compare('2008-02-16 12:59:57')->isBefore(); 

Проверьте руководства. Нажмите здесь .

Там должна быть переменная дата Like

 $date_value = "2013-09-12"; $Current_date = date("Ymd"); OR $current_date_time_stamp = time(); 

Вы можете сравнить обе даты после даты конвертации с отметкой времени так:

 if(strtotime($current_date) >= strtotime($date_value)) { echo "current date is bigger then my date value"; } 

ИЛИ

 if($current_date_time_stamp >= strtotime($date_value)) { echo "current date is bigger then my date value"; }