#mysql #date
Вопрос:
Цель: Получить записи за определенную дату.
Проблема: дата MySQL работает странным образом. Он возвращает записи за предыдущую дату вместо даты, указанной в условии.
Я также попробовал DATE(), CAST(transaction_date КАК ДАТА) и DATE_FORMAT (). Все возвращают один и тот же вывод.
Например:
SELECT transaction_date, DATE(transaction_date) FROM table WHERE DATE(transaction_date)='2021-11-19'
возвращает следующий вывод:
[{ "transaction_date":"2021-11-18T18:30:00.000Z", "DATE(transaction_date)":"2021-11-18T18:30:00.000Z" }]
[Вывод MYSQL][1]: https://i.stack.imgur.com/hisAO.png
у transaction_date есть тип данных ДАТЫ
Это происходит для всех дат в базе данных prod. Тем не менее, он правильно работает с тестовой базой данных.
Я перепробовал все, что знаю. Может ли кто-нибудь, пожалуйста, помочь определить первопричину проблемы и направить ее к решению?
Комментарии:
1. Дата в вашем JSON-это дата, преобразованная в UTC ( 00:00 или по времени Зулу).
2. Это, вероятно, стандартное время Индии ( 05:30), преобразованное в UTC, поэтому оно вычитает 5,5 часов
3. Хорошо. Почему происходит преобразование часового пояса ? и как мне это исправить ?