Рассчитать оставшееся время между текущим временем и 12 утра - PullRequest
0 голосов
/ 18 декабря 2018

Я хочу получить разницу во времени от текущего времени и 12:00 следующего дня.

Например: -

Текущее время 17:00:00.

Таким образом, разница во времени с 00:00:00 (12:00) следующего дня будет 07:00:00 часов.

До сих пор я пробовал функции TIMEDIFF, date_sub mysql, но они не дали желаемых результатов.

Помощь высоко ценится.

PS - я использую mysql 5.6.3

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

Функция MySQL TIMEDIFF () возвращает разницу между двумя значениями времени или даты и времени.

Как это работает, вы предоставляете два значения для сравнения, а TIMEDIFF () вычитает второе значение из первого, затем возвращает результат как значение времени.

Синтаксис выглядит следующим образом:

    TIMEDIFF(expr1,expr2)

Где expr1 и expr2 - два значения для сравнения.Возвращаемое значение - expr2, вычитаемое из expr1.

В вашем случае вы можете использовать дату с аргументами.

    SELECT TIMEDIFF('2021-01-01 10:35:25', '2021-01-02 00:00:00');

Также обратите внимание, что тип данных времени может быть только в диапазоне-838: 59: 59–838: 59: 59.Поэтому следующее не работает:

    SELECT TIMEDIFF('2000-01-01 10:35:25', '2021-01-01 10:35:25');

Для справки, пожалуйста, посетите:

https://database.guide/timediff-examples-mysql/

0 голосов
/ 18 декабря 2018

Просто используйте 24:00:00 вместо 00:00:00, чтобы получить желаемый результат:

SELECT TIMEDIFF('24:00:00', '17:00:00')
-- 07:00:00

Тип данных TIME может представлять значения, большие или равные 24 часам, даже отрицательные значения.

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