Postgresql 选择timestamptz作为UTC zulu字符串
在PostgreSQL 9.5中,我有一个timestamptz类型的列,如果我只进行一次直接选择,就会得到一个如下所示的字符串:Postgresql 选择timestamptz作为UTC zulu字符串,postgresql,Postgresql,在PostgreSQL 9.5中,我有一个timestamptz类型的列,如果我只进行一次直接选择,就会得到一个如下所示的字符串: 2014-08-08 20:48:27.097971+00 选择列输出为Zulu时间字符串的正确方法是什么,如20140808T204827Z?如果您希望准确输出所发布的内容,则: SELECT to_char( '2014-08-08 20:48:27.097971+00'::timestamptz, 'YYYY
2014-08-08 20:48:27.097971+00
选择列输出为Zulu时间字符串的正确方法是什么,如
20140808T204827Z
?如果您希望准确输出所发布的内容,则:
SELECT to_char(
'2014-08-08 20:48:27.097971+00'::timestamptz,
'YYYYMMDD"T"HH24MISS"Z"' );
to_char
------------------
20140808T204827Z
(1 row)
关于日期/时间格式的更多信息:也许应该注意,存储的时间戳没有任何时区关联。因此,在时间戳之后添加
时区'Etc/Zulu'
是一个更好的解决方案。@LaurenzAlbe:不正确,+00
部分是关于时区的。@KrisoMagi不,00只是客户端时区。timestamptz类型实际上只是一个绝对时间戳。@RichardHuxton:对,我错了。但是“Etc/Zulu”和UTC不一样吗?根据pg_时区名称:Etc/Zulu | UTC | 00:00:00 | f
,因此假设服务器/客户端默认为UTC,给定的解决方案应该可以。尽管如此,我还是同意一定要使用正确的时区,然后在时区添加“Etc/Zulu”
更好。