Понастоящем всеки път, когато потребител създава нов профил, имам колона Creation_date, която има тип данни timestamp
, В момента този времеви печат чете 3 часа преди EST (ако това е 5PM в Бостън го чете 8PM) .Има ли начин да се промени часовата зона на EST?
Отговори:
8 за отговор № 1Това е свързано с часовата зона на MySQL.
Можете да го настроите за връзка (например чрез PHPMyAdmin) със следното:
SET time_zone = timezone;
Това обаче ще стане нулиране ако MySQL се рестартира. Така че е по-добре да се настрои на ниво сървър. Което, предполагам, можеш.
Препоръчвам ви да прочетете повече от MySQL Документи.
3 за отговор № 2
Съответно с този въпрос
SET SESSION time_zone = "+8:00"
1 за отговор № 3
TIMESTAMP
стойностите се преобразуват в UTC, когато се вмъкватDB и се преобразува обратно в текущата времева зона, зададена в MySQL при извличане. Другите отговори показват как да настроите часовата зона в MySQL, която ще определи каква стойност излиза от базата данни.
Друга възможност е да използвате a DATETIME
колона, съхранете всичките си дати в UTC и ги конвертирайте в желаната часова зона във вашето приложение (PHP или където и да получите стойностите от).