将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 核心模块可以将纪元秒数转换为日期时间字符串?

在 Informix 中将 DATETIME 转换为 Unix 纪元

将 Epoch 时间戳转换为 DateTime

转换datetime并在MySQL中插入

如何将 13 位 unix 纪元时间格式转换为日期时间?

在 Python 中,如何将自纪元以来的秒数转换为 `datetime` 对象?