mysql 存储什么时间类型与时区无关?

sucanber 发布于 2015/05/31 11:10
阅读 1K+
收藏 0

RT, 在mysql存储一个datetime类型的时间字段A, ,假设有一条记录在mysql里面显示的时间2015-05-31 12:00:00 明显这个时间是根据当前系统时区(东八区)相关的, 如果从其他时区国家访问页面看到还是这个时间的话就明显不合理了, 所以需要时间转换当地时间. 所以我想法是存的时候就存一个与时区无关的类型(比如java中 的 date.getTime() 这个Long类型, 当时DB里面存这个Long类型又不便与查看), 请问有什么好的办法吗?

加载中
1
公孙二狗
公孙二狗
用字符串表示,存入时区,"2015-05-31 12:00:00 +0800"
sucanber
sucanber
使用带时区的字符串确实是一种办法, 但是有个不方便的地方就是不利于使用数据库函数比较时间。
0
双月通天
双月通天
存时间戳,这个与时区无关,然后你查出来之后,再用mysql内置函数转换,
select from_unixtime(1218290027); -- '2008-08-09 21:53:47'
select from_unixtime(1218124800); -- '2008-08-08 00:00:00'
select from_unixtime(1218169800); -- '2008-08-08 12:30:00'
返回顶部
顶部