Делаю запрос:
SELECT
(NOW() + INTERVAL 1 MINUTE)-NOW(),
(NOW() + INTERVAL 2 MINUTE)-NOW(),
(NOW() + INTERVAL 3 MINUTE)-NOW(),
(NOW() + INTERVAL 4 MINUTE)-NOW(),
(NOW() + INTERVAL 5 MINUTE)-NOW(),
(NOW() + INTERVAL 6 MINUTE)-NOW(),
(NOW() + INTERVAL 7 MINUTE)-NOW(),
(NOW() + INTERVAL 8 MINUTE)-NOW(),
(NOW() + INTERVAL 9 MINUTE)-NOW(),
(NOW() + INTERVAL 10 MINUTE)-NOW(),
(NOW() + INTERVAL 11 MINUTE)-NOW(),
(NOW() + INTERVAL 12 MINUTE)-NOW(),
(NOW() + INTERVAL 13 MINUTE)-NOW(),
(NOW() + INTERVAL 14 MINUTE)-NOW(),
(NOW() + INTERVAL 15 MINUTE)-NOW(),
(NOW() + INTERVAL 16 MINUTE)-NOW(),
(NOW() + INTERVAL 17 MINUTE)-NOW()
Выводит
Собственно, что это за формат и как это преобразовать в секунды или более адекватный вид?
Оператора вычитания между двумя timestamp в mysql не существует. Вместо этого используется приведение timestamp к числу и далее числовой оператор вычитания.
timestamp приводится к числу как форматирование YYYYMMDDHHIISS. То есть timestamp 2019-08-29 16:21:30
приводится к числу 20190829162130
. И, как следствие, два timestamp с разницей в минуту после приведения к числу получают численную разницу в 100.
Для обработки типов данных дат mysql предлагает набор штатных функций. Например, для получения количества секунд между двумя датами можно воспользоваться функцией TIMESTAMPDIFF
:
select TIMESTAMPDIFF(SECOND, NOW(), (NOW() + INTERVAL 2 MINUTE));
Чтобы узнать сколько времени прошло с определенной даты используется функция TIMESTAMPDIFF
TIMESTAMPDIFF(unit, datetime_expr_from, datetime_expr_to)
т.е. вам нужно вызвать
TIMESTAMPDIFF(MINUTE, datetime_expr, NOW())
получите, сколько прошло минут от datetime_expr
до текущего времени
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Решил обновить версию php с 53 на 7
Не отправляется асинхронный запросСинхронные отправляются