Проверка, является ли mySql дата и время более старой затем 1 день от php теперь ()

Мне возвратили запись из MySQL, который имеет поле даты и времени. То, что я хочу сделать, принимают это значение и видят, является ли это более старым затем 24 часа, я предполагаю, что время PHP's использования () получает текущее время.

В данный момент, если я повторяю их, я добираюсь:

 1276954824            this is php's time()
 2010-06-19 09:39:23   this is the MySQL datetime

Я предполагаю, что лучший является временем Unix? Играли вокруг с strtotime, но с не много успеха..

ЛЮБОЕ приветствие справки!

7
задан bateman_ap 19 June 2010 в 13:45
поделиться

3 ответа

Нет успеха?

echo strtotime("2010-06-19 09:39:23");

дает мне

1276940363

(mktime(9, 39, 23, 6, 19, 2010) дает то же время, поэтому синтаксический анализ работает правильно)


Чтобы получить разницу в секундах, вы можете вычесть метки времени, например,

$diff = time() - strtotime("2010-06-19 09:39:23");

Если разница больше 86400 (60*60*24) секунд, то метки времени с разницей более одного дня:

if(time() - strtotime("2010-06-19 09:39:23") > 60*60*24) {
   // timestamp is older than one day
}
27
ответ дан 6 December 2019 в 05:05
поделиться

Вы также можете сделать:

SELECT * FROM my_table WHERE timestamp < NOW() - INTERVAL 1 DAY;
9
ответ дан 6 December 2019 в 05:05
поделиться

Почему вы смешиваете время PHP и время MySQL?

Вместо этого выполните сравнение непосредственно в MySQL:

Чтобы получить текущую дату / время в MySQL, используйте функцию NOW () . Вы можете сравнить, например, 2010-06-19 09:39:23 '

Это позволит проверить, соответствует ли данная дата (предположительно в столбце) старше 24 часов.

Если абсолютно необходимо преобразовать метку времени MySQL в метку времени UNIX, для этого можно использовать функцию MySQL UNIX_TIMESTAMP () .

3
ответ дан 6 December 2019 в 05:05
поделиться
Другие вопросы по тегам:

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