Mysql时区没有显示

时间:2012-10-30 08:11:40

标签: mysql

我的mysql数据库表中有一个字符串列,它以毫秒为单位存储字符串,现在我想将Date显示为ISO 8601格式,如2012-03-12T14:11:23-0400,选择查询为

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

1 个答案:

答案 0 :(得分:1)

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

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

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

如果上面的返回SYSTEM,则意味着MySQL被设置为使用系统的时区,并且必须通过MySQL以外的方式直接检索它。

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