【问题标题】:Data type for storing date time offset in golanggolang中存储日期时间偏移的数据类型
【发布时间】:2015-03-04 11:49:37
【问题描述】:

我正在使用 Go 语言开发应用程序。在我的程序中,我收到一个 JSON 数据,其中包含一个日期时间偏移格式的实体,例如 DateTime": "2014-10-19T23:08:24Z"

我需要解组 JSON 并将其以 TIMESTAMP(p) WITH TIME ZONE 格式存储在 PostgreSQL 数据库中的数据库中。当我解组时,我需要将它存储在相同数据类型的变量中。

Golang 中是否有可用的数据类型来执行此操作或任何其他方式执行此操作?

【问题讨论】:

  • 问题在于解组时间,还是将其存储在 postgres 中(什么客户端?)
  • 这是您需要的方向吗?这个答案是关于将时间转换为 json,但主体是相同的:stackoverflow.com/questions/23695479/…
  • 注意 PostgreSQL 实际上并没有在该字段/类型中存储时区偏移量。相反,当输入/输出发生时(输入归一化为 UTC((-ish,实际上是 UT1))并根据当前设置的 TimeZone setting 输出 timestamptz 值)将被考虑在内。

标签: json postgresql datetime go


【解决方案1】:

time.Time 结构知道时区,并且应该由大多数可用的 SQL 驱动程序正确处理。

唯一需要补充的是,大多数系统中的约定是在交换格式(JSON、SQL 等)中仅使用 UTC 日期,并在必要时让应用程序切换到时区。

【讨论】:

    猜你喜欢
    • 2011-05-18
    • 2011-11-27
    • 1970-01-01
    • 2014-09-14
    • 1970-01-01
    • 2013-09-13
    • 1970-01-01
    • 2016-07-28
    • 2020-07-05
    相关资源
    最近更新 更多