Ter*_*ony 10 mysql time datetime unix-timestamp
哪一个最好用,DateTime或INT(Unix时间戳)或其他任何东西来存储时间值?
我认为INT在性能方面会更好,也更普遍,因为它可以很容易地转换为许多时区.(我来自世界各地的网络访问者可以看到没有混淆的时间)
但是,我仍然怀疑它.有什么建议?
Seb*_*sch 10
我不会使用INT
或TIMESTAMP
保存您的日期时间值.有"2038年问题"!您可以DATETIME
长时间使用并保存日期时间.
使用TIMESTAMP
或数字列类型,您只能存储从1970年到2038年的年份范围.使用该DATETIME
类型,您可以保存年份从1000到9999的日期.
它不建议使用数值列型(INT
)来存储的日期时间信息.MySQL(以及其他系统)提供了许多处理日期时间信息的函数.这些函数比自定义函数或计算更快,更优化:https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html
要将存储值的时区转换为您可以使用的客户端时区CONVERT_TZ
.在这种情况下,您需要知道服务器的时区和客户端的时区.要获得服务器的时区,您可以在此问题上看到一些可能性.