MySQL从UNIXTIME转换为带时区的ISO8601
我在MySQL中有一些日期存储为UNIXTIME,我想执行一个查询,其中时间以ISO8601格式返回,并带有时区。我知道使用FROM_UNIXTIME将返回本地时区中的时间,但我无法打印使用的时区 例如,当我请求时区时,根本没有返回任何时区 mysql-D foobar_db-executeselect 从“提交时间”表中,将“%Y-%m-%dT%TZ”作为“提交时间” 其中id=389580MySQL从UNIXTIME转换为带时区的ISO8601,mysql,timezone,iso8601,Mysql,Timezone,Iso8601,我在MySQL中有一些日期存储为UNIXTIME,我想执行一个查询,其中时间以ISO8601格式返回,并带有时区。我知道使用FROM_UNIXTIME将返回本地时区中的时间,但我无法打印使用的时区 例如,当我请求时区时,根本没有返回任何时区 mysql-D foobar_db-executeselect 从“提交时间”表中,将“%Y-%m-%dT%TZ”作为“提交时间” 其中id=389580 +----------------------+ | time_submit | +
+----------------------+
| time_submit |
+----------------------+
| 2014-01-06T14:43:29Z |
+----------------------+
这是令人难以置信的沮丧,因为MySQL在执行FROM_UNIXTIME转换时清楚地知道时区。我觉得我错过了一些明显的东西
编辑:当未指定UTC的偏移量时,ISO8601将上述时间戳定义为localtime。我希望返回偏移量。到目前为止,我已经得出了以下看起来很难看的结论。选择*从提交时选择,“%Y-%m-%dT%TZ”作为时间从表中提交,其中id\u job=389580作为时间提交加入选择TIMEDIFFNOW,UTC\u时间戳作为UTC\u偏移作为UTC\u偏移,将重新运行2014-01-06T14:43:29Z 02:00:00ISO8601定义多种格式。你特别想要哪一个?听起来你想要一个带偏移量的扩展时间戳?如果是这样,您在评论中发布的内容格式不正确,可能使用了错误的偏移量。当前偏移量不一定是与您返回的数据相关的偏移量。我完全同意我上面的例子很糟糕,正如您指出的,也是错误的。我希望格式与运行date-iso-8601=s时相同,后者返回格式2014-04-25T08:19:04+0200