ДАТА-ВРЕМЯ MySQL по-прежнему зависит от часового пояса

#mysql #datetime #timestamp #timezone

#mysql #дата и время #временная метка #Часовой пояс

Вопрос:

У меня есть столбец в базе данных с типом TIMESTAMP. Проблема в том, что когда я выбираю записи, этот столбец имеет другое время, чем у меня в моей базе данных (смена на 7 часов). Я предположил, что проблема в часовом поясе, поэтому я изменил тип столбца с TIMESTAMP на DATETIME, но все же, когда я выбираю сервер записей, он получает его со сдвинутым временем.

Должен ли я использовать другой тип данных?

Комментарии:

1. Это может быть проблема с драйвером и / или клиентом. Или, может быть, значение не было сдвинуто во время изменения типа данных? в TIMESTAMP оно сохраняется как GMT, и возможно, что оно не было пересчитано в исходный часовой пояс (поскольку эта информация отсутствует в данных). Попробуйте вставить новые данные, используя CLI local, на сервер и сравните, сдвигается ли он во время извлечения через локальный CLI и через ваше клиентское программное обеспечение.

2. С TIMESTAMP , это ожидаемое поведение. Применяется часовой пояс сеанса. Однако при DATETIME этом не должно происходить никакого сдвига. Возможно, вы захотите прочитать dev.mysql.com/doc/refman/8.0/en/datetime.html и dev.mysql.com/doc/refman/8.0/en/time-zone-support.html