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

Если Вы предпочитаете старый добрый крон, , CRONw является способом пойти.

Supported systems

* Windows 2000 (any version)    works
* Windows XP (SP 2)             works
* Windows Server 2003           works
* Windows NT 4 (SP 6)           should work but not tested
* Windows 3.11, Windows 95,
  Windows 98, Windows ME,
  Windows XP beneath SP2        not supported by design

15
задан Carlos Lima 7 December 2009 в 10:48
поделиться

5 ответов

if (strtotime("2008-02-16 12:59:57") >= time() - 24 * 60 * 60)
{ /*LESS*/ }
26
ответ дан 1 December 2019 в 00:11
поделиться
if ((time() - strtotime("2008-02-16 12:59:57")) < 24*60*60) {
  // less than 24 hours ago
}
4
ответ дан 1 December 2019 в 00:11
поделиться

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

<?php
echo 'now: ', date('Y-m-d 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 часа в прошлом.

2
ответ дан 1 December 2019 в 00:11
поделиться

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

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

2
ответ дан 1 December 2019 в 00:11
поделиться

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

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

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

20
ответ дан 1 December 2019 в 00:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: