0

我的 mysql 数据库表中有一个字符串列,它将毫秒作为字符串存储,现在我想将 Date 显示为 ISO 8601 格式,例如 2012-03-12T14:11:23-0400 和 Select Query as

SELECT DATE_FORMAT(TIMESTAMP(response_time),"%Y-%m-%dT%H:%i:%s%Q") AS date FROM table_name;

但它没有显示时区,上面查询的结果

2012-10-29T14:55:47Q

但我想要的实际结果是

2012-10-29T14:55:47-05:00
4

1 回答 1

1

%Q不是 MySQL 中的有效日期说明符。

MySQL 中的时区可以通过以下方式访问:

SELECT @@global.time_zone, @@session.time_zone

如果以上返回SYSTEM,则表示 MySQL 设置为使用系统的时区,并且必须通过 MySQL 以外的其他方式直接检索。

也就是说,这只会告诉您系统当前正在运行的时区,而不是关于存储为日期/时间值的日期的任何信息,不会存储有关时区的任何信息。

于 2012-10-30T08:25:07.240 回答