将mysql DATETIME列转换为纪元秒
Posted
技术标签:
【中文标题】将mysql DATETIME列转换为纪元秒【英文标题】:Convert mysql DATETIME column to epoch seconds 【发布时间】:2012-06-06 00:54:38 【问题描述】:我有一个 DATETIME 格式的 mysql datetime
列。
有没有办法在纪元秒内SELECT
这个专栏?如果不是,将日期时间格式转换为纪元秒的最佳方法是什么?什么类型的字段最适合捕捉这一点?
【问题讨论】:
【参考方案1】:使用 MySQL 的UNIX_TIMESTAMP
函数
【讨论】:
确保你的mysql服务器时区设置正确,否则你会得到你不期望的值。例如:设置全球时区 = UTC;和 UNIX_TIMESTAMP(created) * 1000 作为 epoc_ms。请参阅dev.mysql.com/doc/refman/5.5/en/time-zone-support.html 了解更多信息。【参考方案2】:你可以使用:
SELECT UNIX_TIMESTAMP(yourfield) FROM yourtable;
对于 UPDATE,反函数是:FROM_UNIXTIME(...)
【讨论】:
以上是关于将mysql DATETIME列转换为纪元秒的主要内容,如果未能解决你的问题,请参考以下文章
是否有 perl 5.005 核心模块可以将纪元秒数转换为日期时间字符串?