开发者社区> 问答> 正文

mysql存储时间类型与时区无关的问题

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

展开
收起
落地花开啦 2016-02-01 11:32:33 2856 0
2 条回答
写回答
取消 提交回答
  • mysql的datetime类型数据不存储时区信息,timestamp类型包含时区信息。 时区信息可查询time_zone的值
    2019-07-17 18:37:02
    赞同 展开评论 打赏
  • 喜欢技术,喜欢努力的人

    存时间戳,这个与时区无关,然后你查出来之后,再用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'
    `

    2019-07-17 18:37:02
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像