【问题标题】:How to get timezone in DATE_FORMAT()? [closed]如何在 DATE_FORMAT() 中获取时区? [关闭]
【发布时间】:2020-11-24 16:45:58
【问题描述】:

我是 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)

【问题讨论】:

  • 显示的值不是有效的 MySQL 日期文字。您必须先将其从字符串转换为日期时间。
  • 如果您首先向我们展示 processDate 列的架构定义以及其内容的准确示例,问题会更清楚,谢谢

标签: mysql timezone datetime-format


【解决方案1】:

时区没有 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 会话的时区,而不是日期值。同样,日期值不编码任何时区。

【讨论】:

    猜你喜欢
    • 2013-09-18
    • 2014-07-04
    • 2014-03-28
    • 1970-01-01
    • 1970-01-01
    • 2012-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多