php sql дата и время сравнение - PullRequest
       4

php sql дата и время сравнение

0 голосов
/ 08 сентября 2011

В моей таблице MySQL есть столбец last_notify, тип данных DATETIME Я хочу либо выбрать только те строки, где last_notified больше, чем n секунд, или сравнить значение last_notified из db в php

Я пытался возиться с объектом даты.

$d = date('Y-m-d H:i:s'); // current date and time
$dd = date('2011-09-08 10:21:34'); // this is the format used in mysql.

Я знаю, что не могу просто сравнить их, и я не знаю, как добавить время к объекту даты. Я видел примеры людей, использующих что-то вроде

$t = explode(" ",$dd);
date($dd, strtotime('+30 minutes', strtotime($t[1])));

но это не работает. Я просто не вижу этого.

Ответы [ 3 ]

2 голосов
/ 08 сентября 2011

Вы можете использовать sql следующим образом:

SELECT * FROM your_table WHERE last_notified < DATE_SUB(NOW(), INTERVAL n SECOND)

1 голос
/ 08 сентября 2011
SELECT * FROM your_table WHERE last_notified < DATE_SUB(NOW(), INTERVAL n SECOND)
1 голос
/ 08 сентября 2011

Посмотрите на свой первый фрагмент и маску даты в первой строке

Y-m-d H:m:s

Вы используете маску m дважды, так что вместо минут будет месяц. Вы должны использовать i маску, чтобы указать минуты

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...