首页 > 数据库 > mysql教程 > 如何在 MySQL 中将毫秒精度的纪元数转换为人类可读的日期?

如何在 MySQL 中将毫秒精度的纪元数转换为人类可读的日期?

DDD
发布: 2024-10-30 03:01:28
原创
1012 人浏览过

How to Convert Epoch Numbers with Millisecond Precision to Human-Readable Dates in MySQL?

将纪元数转换为 MySQL 中人类可读的日期

问题:

给定一个存储为 VARCHAR 数据类型的纪元号(例如 1389422614485),如何将其有效地转换为人类可读的日期和时间?

解决方案:

在 MySQL 中,可以使用以下步骤将毫秒精度的 Epoch 数字转换为人类可读的格式:

  1. 使用 from_unixtime() 函数将 Epoch 数字转换为 UNIX 时间戳。
  2. 将纪元数除以 1000 以计算毫秒数。在 8.0 之后的 MySQL 版本中可能不需要此步骤。
  3. 对于旧版本的 MySQL,请使用 Floor() 函数将结果舍入到最接近的秒。

将综合起来,可以使用以下 SQL 查询:

<code class="sql">SELECT from_unixtime(floor(epoch_number / 1000));</code>
登录后复制

示例:

考虑 Epoch 编号 1389422614485:

<code class="sql">mysql> SELECT from_unixtime(floor(1389422614485 / 1000));
+------------------------------------------+
| from_unixtime(floor(1389422614485 / 1000)) |
+------------------------------------------+
| 2014-01-11 12:13:34                      |
+------------------------------------------+</code>
登录后复制

在 MySQL 8.0 及更高版本中,floor() 函数不是必需的:

<code class="sql">mysql> SELECT from_unixtime(1389422614485 / 1000);
+------------------------------------------+
| from_unixtime(1594838230234 / 1000)        |
+------------------------------------------+
| 2020-07-15 18:37:10.2340                 |
+------------------------------------------+</code>
登录后复制

以上是如何在 MySQL 中将毫秒精度的纪元数转换为人类可读的日期?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板