Nepoužil bych INT
nebo TIMESTAMP
pro uložení hodnot data a času. Existuje "Problém roku 2038"
! Můžete použít DATETIME
a uložte si datum a čas na dlouhou dobu.
S TIMESTAMP
nebo číselné typy sloupců, můžete uložit pouze rozsah let od 1970 do 2038. S DATETIME
typu můžete uložit data s roky od 1000 do 9999.
Není doporučuje se použít číselný typ sloupce (INT
) pro uložení dat a času. MySQL (a také další systémy) poskytuje mnoho funkcí pro zpracování dat a času. Tyto funkce jsou rychlejší a optimalizovanější než vlastní funkce nebo výpočty:https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html
Chcete-li převést časové pásmo své uložené hodnoty na časové pásmo klienta, můžete použít CONVERT_TZ
. V tomto případě potřebujete znát časové pásmo serveru a časové pásmo vašeho klienta. Chcete-li získat časové pásmo serveru, můžete vidět některé možnosti na tato otázka
.