如何在 mysql 中获取日期时间以及附加的 GMT?

how to fetch datetime along with GMT appended with it in mysql?

我在 mysql 中寻找 "how to fetch datetime along with UTC appended with it"。但我没有在 Whosebug 中找到任何合适的解决方案。

许多人建议通过分配 default_time_zone 在查询本身中将日期时间转换为所需的 utc,但我想在用户端转换日期时间取决于他们的系统设置。

我有一个名为“created_on TIMESTAMP DEFAULT CURRENT_TIMESTAMP”的字段

每当我获取数据时,我得到的日期为“yyyy-mm-dd hh:mm:ss”(例如 2015-04-01 11:30:25)

但我想要的格式是“2015-04-01 11:30:25 +5:30” 其中 (+5:30 是服务器的 default_time_zone),这样我就可以在用户端将其转换为“2015-04-01 10:30:25”(假设用户的时区是+4:30)

所以我的问题是 如何在 mysql 中获取日期时间以及附加的 UTC,以便我可以根据他们的系统设置在用户端转换它?

您可以使用 date_format() 函数或 concat 函数在选择

时附加任何您想要的内容
select date_format('2015-04-01 11:30:25','%Y-%m-%d %H:%i:%s +5:30') as date ;
+---------------------------+
| date                      |
+---------------------------+
| 2015-04-01 11:30:25 +5:30 |
+---------------------------+
1 row in set (0.03 sec)

mysql> select concat('2015-04-01 11:30:25',' +5:30') as date ;
+---------------------------+
| date                      |
+---------------------------+
| 2015-04-01 11:30:25 +5:30 |
+---------------------------+
1 row in set (0.03 sec)

已解决!我没有附加时区,而是将服务器的默认时区设置为 +00:00,因此每当我插入数据时,日期都会像(例如 2015-05-11 05:30:10) 这是基于服务器的默认时区。

在用户端,我获取数据并根据系统设置更改日期时间格式。例如:如果用户的系统时区是 +4:00 那么日期将从

转换

2015-05-11 05:30:10 to 2015-05-11 09:30:10.

谢谢,