如何在 DATE_FORMAT() 中获取时区?

How to get timezone in DATE_FORMAT()?

我是 MySQL 的 DATE_FORMAT 函数的新手,正在尝试在 SELECT 查询中将 2020-11-16T17:28:00.000Z 转换为 Mon Nov 16 2020 12:28:00 GMT-0400 (Eastern Daylight Time)

我试过 DATE_FORMAT(processDate,'%a %b %e %Y %T') as processDate 结果是 Mon Nov 16 2020 12:28:00

我可以使用 DATE_FORMAT() 函数包含 GMT-0400 (Eastern Daylight Time) 的方法有哪些?

没有 DATE_FORMAT() 时区代码,因为日期值中没有编码时区。

你可以这样做:

mysql> select concat(date_format(processDate, '%a %b %e %Y %T'), @@session.time_zone) as processDate;
+--------------------------------+
| processDate                    |
+--------------------------------+
| Mon Nov 16 2020 17:28:00+00:00 |
+--------------------------------+

但那是 MySQL 会话的时区,而不是日期值的时区。同样,日期值不对任何时区进行编码。