Я пытаюсь сравнить DateTime
в MySQL
.
Таблица предназначена для проверки заблокированных пользователей. Например, пользователь будет заблокирован на 1 Day
в DateTime 2020-04-09 14:51:32
:
SELECT
*,
DATE_ADD(`time_created`, INTERVAL `locked_time` DAY) AS `until`
FROM
`' . DATABASE_PREFIX . 'users_locked`
WHERE
`user_id`=:user_id
LIMIT 1
until
- это дата и время time_created
с добавленными днями с locked_time
.
Вот результат записей:
object(stdClass)[53]
public 'id' => string '1'
public 'user_id' => string '2'
public 'locked_by' => string '1'
public 'time_created' => string '2020-04-09 14:51:32'
public 'locked_time' => string '1'
public 'reason' => string 'This is a test'
public 'until' => string '2020-04-10 14:51:32'
Расчет (time_created
с добавлением locked_time
с результатом 2020-04-10 14:51:32
) выполнен правильно. Но когда я пытаюсь сравнить это значение с текущей меткой времени (например, NOW()
), я не получаю никаких результатов - использую ли я >=
или <=
:
[...]
WHERE
`user_id`=:user_id
AND
`until`<=NOW()
LIMIT 1
[...]
WHERE
`user_id`=:user_id
AND
`until`>=NOW()
LIMIT 1
Как я могу проверить, является ли дата 'до' в пределах 'СЕЙЧАС () `?