有没有办法将日期时间格式化为RFC3339Nano
例如:2006-01-02T15:04:05.999999999Z07:00
在postgres 9.3或9.5中?
我尝试了to_char
。但是没有文档说明如何处理T
,Z
,+07:00
,-07:00
等。
我能找到的最近的一个是
v2=# select to_char(current_timestamp, 'YYYY-MM-DD HH:MI:SS.MSOF');
to_char
----------------------------
2016-05-08 12:16:14.493+04
这是postgres 9.3中的默认JSON输出格式datetime。请参阅下文。
psql (9.5.1, server 9.3.6)
Type "help" for help.
fetchrdb=> select to_json(current_timestamp);
to_json
---------------------------------
"2016-05-08 11:58:04.844548+04"
(1 row)
对于postgres 9.5的JSON编码输出,RFC3339Nano
为psql (9.5.1)
Type "help" for help.
v2=# select to_json(current_timestamp);
to_json
------------------------------------
"2016-05-08T11:59:17.121411+04:00"
,例如:
to_char
我找不到使用spring.datasource.testWhileIdle = true
spring.datasource.validationQuery = SELECT 1
spring.jpa.show-sql = true
spring.jpa.hibernate.ddl-auto = create-drop
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.HSQLDialect
在postgres 9.3或9.5中将datetime格式化为RFC3339Nano的选项。
http://www.postgresql.org/docs/9.5/static/functions-formatting.html
您是否使用任何隐藏的选项/功能来实现相同的功能?任何有关的帮助表示赞赏。
答案 0 :(得分:0)
没有。 PostgreSQL时间戳精度只有几微秒。
答案 1 :(得分:0)
最接近的是这样的:
postgres=# select to_char(('1970-01-01T00:00:00Z'::timestamp), 'YYYY-MM-DD"T"HH24:MI:SS.US"Z"');
to_char
-----------------------------
1970-01-01T00:00:00.000000Z
(1 row)
这提供了T
和微秒,但没有提供时区。