【问题标题】:Read MySQL datetime as Unix time将 MySQL 日期时间读取为 Unix 时间
【发布时间】:2012-04-09 05:26:44
【问题描述】:

我有一个带有datetime 列的表。在本专栏中,我使用UTC_TIMESTAMP() 编写了 UTC 日期。现在,从 PHP 中,我想将此 UTC 日期作为 unix 时间戳。怎么样?

我知道UNIX_TIMESTAMP() 函数。我不确定它是否可靠,因为它使用本地时区和其他东西。我只想要从 UTC 日期时间到自 1970 年以来的秒数的纯粹转换......

【问题讨论】:

标签: mysql datetime utc unix-timestamp


【解决方案1】:
SELECT UNIX_TIMESTAMP(datetime_field) as timestamp
FROM table

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_unix-timestamp

【讨论】:

    【解决方案2】:

    在 PHP 中你会使用strtotime()

    编辑: UNIX_TIMESTAMP 在转换存储为timestamp 的数据而不是存储为datetime 的数据时使用本地时区。请参阅:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_unix-timestamphttp://dev.mysql.com/doc/refman/5.5/en/datetime.html

    当您使用datetime 时,UNIX_TIMESTAMP 应该是安全的。

    【讨论】:

    • 那么在MySQL中就没有办法做到这一点吗?
    • 你可以使用UNIX_TIMESTAMP()。我相信时区的问题在于存储为 timestamp 类型的数据,而不是您使用的 datetime 类型:dev.mysql.com/doc/refman/5.5/en/datetime.html - 我会将此添加到我的答案中
    • 确实是重要的细节。谢谢:)
    猜你喜欢
    • 2011-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-06
    • 2015-02-09
    • 1970-01-01
    • 2022-06-14
    • 2015-01-07
    相关资源
    最近更新 更多