我们正在运行我们的Java代码与
GregorianCalendar.我们希望坚持这些在我们的postgresql数据库作为GMT 0时间戳类型列,但我们不知道如何去做.这些田地应该有时间戳还是没有时间戳?通过类似的标记,我们应该使用“当前”时间postgres功能
current_timestamp or localtimestamp?
从这里开始 – 第8.5.3节. “
Time Zones”从文档.
CURRENT_TIMESTAMP和LOCALTIMESTAMP之间的区别是结果的类型 – 前者返回“带时区的时间戳”,后者返回“时间戳”:
milen=> select CURRENT_TIMESTAMP; now ------------------------------- 2009-09-05 01:21:37.595704+03 (1 row) milen=> select LOCALTIMESTAMP; timestamp ---------------------------- 2009-09-05 01:21:41.956355 (1 row)
完全是在哪个时区您想要看到当前时间的另一件事.在这种情况下,默认时区(可以以多种方式设置,全部在上面链接的部分中描述)很重要.此外,您可以在查询中使用“AT TIME ZONE”获取当前时间在特定时区,而没有“fiddling”与“时区”设置:
milen=> select CURRENT_TIMESTAMP AT TIME ZONE 'UTC'; timezone ---------------------------- 2009-09-04 22:21:44.418236 (1 row)