postgres timestamptz timezone wierdness

时间:2015-11-17 20:16:43

标签: postgresql

我正在开发我的第一个postgres数据库模式,而且我对timestamptz数据类型的时区感到有些奇怪。

创建表并使用now()函数将数据输入列后,我得到2015-11-17 12:10:05.764088-08作为结果。我不明白“764088-08”对于时区标记是什么意思。 postgres文档说它看起来应该是这样的:

'2004-10-19 10:23:54+02'

我理解第二个时区格式,但第一个时区对我来说是一个很大的谜。我只是遗漏了什么? now()功能不是您想要使用的吗?

1 个答案:

答案 0 :(得分:0)

部分05.764088指的是当前。它只是提供更精确的精度并返回精确的微秒(在本例中为764088)。最后的-08是指时区

  

与UTC的时区偏移,以秒为单位。正值   对应于UTC以东的时区,对应于西区的负值   世界标准时间。 (从技术上讲,PostgreSQL使用UT1,因为闰秒不是   处理。)

函数now()是与CURRENT_TIMESTAMP等效的传统PostgreSQL。您可以查看确切的详细信息in the official documentation