MySQL функция timediff не дает правильного вывода - PullRequest
1 голос
/ 16 июня 2020

Эта функция

SELECT HOUR(TIMEDIFF('2020-06-17 12:15:00am','2020-06-17 01:15:00am')) as 'diff'

дает мне разницу как

11 часов

, хотя на самом деле это должно быть

1 час

. Как это исправить? Пожалуйста посоветуй.

Спасибо.

1 Ответ

3 голосов
/ 16 июня 2020

MySQL не распознает am и pm по умолчанию, он анализирует время в 24-часовом формате. Вам нужно использовать STR_TO_DATE(), если вы хотите проанализировать пользовательский формат даты и времени.

Кроме того, вам нужно сначала указать более позднее время.

SELECT HOUR(TIMEDIFF(STR_TO_DATE('2020-06-17 01:15:00am', '%Y-%m-%d %r'),
                     STR_TO_DATE('2020-06-17 12:15:00am', '%Y-%m-%d %r'))) as 'diff'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...