【问题标题】:Convert a double (or string) into a Unix epoch timestamp in MySQL?在 MySQL 中将双精度(或字符串)转换为 Unix 纪元时间戳?
【发布时间】:2015-01-17 04:22:55
【问题描述】:

我已经看到了在 MySQL 中在 UNIX 纪元和日期时间之间来回转换的说明——这并不难(from_unixtime 用于从纪元转换为日期时间,unix_timestamp 用于获取当前纪元时间)。

不幸的是,我已将服务器中的所有时间戳都保存为双精度 - 在尝试将双精度转换为时间戳时,我失败了。

select
    from_unixtime(cast('1416355920908' as datetime)),
    from_unixtime(cast(1416355920908 as datetime)),
    from_unixtime(unix_timestamp());

这在 MySQL 上返回 NULL、NULL、'2014-11-19 10:18:34'。

有没有办法将数字或字符串转换为纪元或日期时间?

【问题讨论】:

    标签: mysql epoch


    【解决方案1】:

    事实证明,我将 epoch 做得如此之大,以至于炸毁了 MySQL……这是我在 NodeJS 中犯的一个错误,当时我使用它的函数来收集 epoch 而不是依赖 MySQL。简单的解决方法是:

    select from_unixtime(1416355920908 / 1000);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-18
      • 1970-01-01
      • 2016-07-23
      • 1970-01-01
      • 2018-01-27
      • 2018-08-03
      • 2013-08-25
      • 2012-06-23
      相关资源
      最近更新 更多