Ich würde INT
nicht verwenden oder TIMESTAMP
um Ihre datetime-Werte zu speichern. Es gibt das "Year-2038-Problem"
! Sie können DATETIME
verwenden und speichern Sie Ihre Datetimes für lange Zeit.
Mit TIMESTAMP
oder numerischen Spaltentypen können Sie nur einen Bereich von Jahren von 1970 bis 2038 speichern. Mit DATETIME
type können Sie Daten mit Jahren von 1000 bis 9999 speichern.
Es ist nicht Es wird empfohlen, einen numerischen Spaltentyp zu verwenden (INT
), um datetime-Informationen zu speichern. MySQL (und auch andere Systeme) bietet viele Funktionen zur Handhabung von Datetime-Informationen. Diese Funktionen sind schneller und optimierter als benutzerdefinierte Funktionen oder Berechnungen:https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html
Um die Zeitzone Ihres gespeicherten Werts in die Client-Zeitzone umzuwandeln, können Sie CONVERT_TZ
. In diesem Fall müssen Sie die Zeitzone des Servers und die Zeitzone Ihres Clients kennen. Um die Zeitzone des Servers zu erhalten, gibt es einige Möglichkeiten auf diese Frage
.