Obecnie, gdy użytkownik tworzy nowe konto, mam kolumnę Creation_date, która ma typ danych timestamp
. Obecnie ten znacznik czasu czyta 3 godziny przed EST (jeśli „5PM w Bostonie to 8PM”) Czy istnieje sposób na zmianę strefy czasowej na EST?
Odpowiedzi:
8 dla odpowiedzi № 1Ma to związek ze strefą czasową MySQL.
Możesz ustawić je dla każdego połączenia (np. Przez PHPMyAdmin) z następującymi elementami:
SET time_zone = timezone;
Jednak to będzie nastawić jeśli MySQL uruchomi się ponownie. Więc jest lepiej ustawiony na poziomie serwera. Które, jak przypuszczam, możesz.
Zachęcam do zapoznania się z treścią MySQL Docs.
3 dla odpowiedzi № 2
Zgodnie z to pytanie
SET SESSION time_zone = "+8:00"
1 dla odpowiedzi nr 3
TIMESTAMP
wartości są konwertowane na UTC po wstawieniuDB i konwertowane z powrotem na bieżącą strefę czasową ustawioną w MySQL podczas pobierania. Inne odpowiedzi pokazują, jak ustawić strefę czasową w MySQL, która określa, jaka wartość pochodzi z bazy danych.
Inną opcją jest użycie a DATETIME
kolumna, przechowuj WSZYSTKIE daty w UTC i konwertuj je na żądaną strefę czasową w aplikacji (PHP lub gdziekolwiek otrzymasz wartości).