如何添加UTC时间戳

问题描述 投票:0回答:1

我想在 UTC 格式的 MySQL 时间戳中添加一个时间间隔。我尝试使用

TIMESTAMPADD(MICROSECOND, 10000000, UTC_TIMESTAMP(3))
。我的假设是计算将采用 UTC,但事实并非如此。例如,如果夏令时发生变化,可能会生成无效时间(请参阅错误报告)。

有没有办法获取 UTC 中的

now
并获取未来 N 秒的 UTC 时间?

它是库的一部分,不幸的是,一些用户在非 UTC 时区运行他们的数据库服务器。

mysql timestamp timezone
1个回答
0
投票

下面显示的是您想要的东西吗?如果没有,您能否提供您所期望的工作示例。

SELECT NOW(), CONVERT_TZ(NOW(), @@session.time_zone, '+00:00'); select NOW()+20, CONVERT_TZ(NOW(), @@session.time_zone, '+00:00')+20;
+---------------------+--------------------------------------------------+
| NOW()               | CONVERT_TZ(NOW(), @@session.time_zone, '+00:00') |
+---------------------+--------------------------------------------------+
| 2024-09-02 23:20:10 | 2024-09-02 22:20:10                              |
+---------------------+--------------------------------------------------+
1 row in set (0.00 sec)

+----------------+-----------------------------------------------------+
| NOW()+20       | CONVERT_TZ(NOW(), @@session.time_zone, '+00:00')+20 |
+----------------+-----------------------------------------------------+
| 20240902232030 |                                      20240902222030 |
+----------------+-----------------------------------------------------+
1 row in set (0.00 sec)

© www.soinside.com 2019 - 2024. All rights reserved.