MySQL возвращает записи предыдущей даты вместо даты, указанной в условии WHERE

#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. Хорошо. Почему происходит преобразование часового пояса ? и как мне это исправить ?