【问题标题】:postgres timestamptz timezone wierdnesspostgres timestamptz 时区怪异
【发布时间】:2015-11-17 20:16:43
【问题描述】:

我正在开发我的第一个 postgres 数据库架构,但我对 timestamptz 数据类型的时区有点陌生。

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

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

我了解第二种时区格式,但第一种对我来说是一个很大的谜。我只是错过了什么吗? now() 函数不是你要使用的吗?

【问题讨论】:

  • 这些 764088 是微秒。时间戳显示在 UTC-08:00 时区。
  • 时间戳为ISO 8601格式。

标签: postgresql


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-18
    • 1970-01-01
    • 2021-04-13
    • 2013-12-15
    • 1970-01-01
    • 2021-10-05
    • 2021-04-24
    • 2020-11-22
    相关资源
    最近更新 更多