我在mysql数据库表中有一个字符串列,它将毫秒存储为字符串,现在我希望将日期显示为ISO 8601格式,如2012-03-12T14:11:23-0400,并使用Select查询作为
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发布于 2012-10-30 16:25:07
在MySQL中,%Q不是有效的日期说明符。
可以通过以下方式访问MySQL中的时区:
SELECT @@global.time_zone, @@session.time_zone如果上面的返回值为SYSTEM,则意味着MySQL被设置为使用系统的时区,因此必须通过MySQL以外的其他方式直接检索它。
也就是说,这只会告诉您系统当前正在运行的时区,而不是关于日期的任何信息,因为日期/时间值不会与任何有关时区的信息一起存储。
https://stackoverflow.com/questions/13134972
复制相似问题