Nie użyłbym INT
lub TIMESTAMP
aby zapisać wartości daty i godziny. Istnieje "Problem w roku 2038"
! Możesz użyć DATETIME
i zapisuj swoje daty i godziny przez długi czas.
Z TIMESTAMP
lub liczbowych typów kolumn można przechowywać tylko zakres lat od 1970 do 2038. Z DATETIME
wpisz, możesz zapisać daty z latami od 1000 do 9999.
nie jest zalecane jest używanie kolumn typu numerycznego (INT
) do przechowywania informacji o dacie i godzinie. MySQL (i inne systemy również) udostępnia wiele funkcji do obsługi informacji o dacie i godzinie. Funkcje te są szybsze i bardziej zoptymalizowane niż funkcje lub obliczenia niestandardowe:https://dev.mysql.com/doc/refman/5.7/en/data-i-godzina-funkcje.html
Aby przekonwertować strefę czasową przechowywanej wartości na strefę czasową klienta, możesz użyć CONVERT_TZ
. W takim przypadku musisz znać strefę czasową serwera i strefę czasową swojego klienta. Aby uzyskać strefę czasową serwera, możesz zobaczyć kilka możliwości na to pytanie
.