相关疑难解决方法(0)

java.util.Date vs java.sql.Date

java.util.Datevs java.sql.Date:何时使用哪个以及为什么?

java sql datetime date jdbc

487
推荐指数
5
解决办法
27万
查看次数

Postgres时间戳

我们正在讨论在postgres中存储时间戳的最佳方法.目前,所有时间戳都存储为+00,并且我们有与每个客户端关联的时区.我们查找时区并转换发生事件的时间,这会增加复杂性,因为我们需要进行更多连接和更复杂的查询.

另一种方法是连接到Postgres并设置连接的时区,它将所有时间都更改为该时区.

我的问题是在ANZ有4-5个时区.当我们尝试开发票时,我们需要知道某些交易发生的那一天,并且在三个时区之间没有完美的解决方案.

我想在时间戳中包含时区以使其更容易 - TIMESTAMP'1999-01-15 8:00:00 -8:00'

我觉得这是最好的做法,但有些人说这是个坏主意.我们将为ANZ的客户提供准确的发票,最佳解决方案和最优雅的解决方案?

干杯斯科特

database postgresql timezone timestamp

9
推荐指数
2
解决办法
1万
查看次数

我应该将时区与Postgres和JDBC的时间戳分开存储吗?

似乎(也许我错了)如果你想保留JDBC和Postgres发生某些事情的时区,你需要将时区与时间戳分开存储.

那就是我更愿意给我的ORM/JDBC/JPA一个带有时区的Java Calendar(或Joda DataTime)America/New_York到Postgres timestampz字段.并且我希望无论服务器时区(或默认为UTC)检索都能给我带回Calendar时区America/New_York.但只是查看大多数JDBC代码(以及依赖于它的事情不会发生).

它是否正确?

当postgres支持时,我需要将tz存储在另一个字段中,这似乎很荒谬.

因此,似乎只有两个选项:

  1. 选择timestampzPostgres列作为a java.util.String并解析它.
  2. 将时区存储为单独的字段.

第一和第二选项需要某种转换拦截器用于我的SQL映射/ ORM库.

  • 什么是JDBC的最佳解决方案?
  • JPA的最佳解决方案是什么(如果与JDBC不同)?

java postgresql jpa jdbc

8
推荐指数
1
解决办法
1880
查看次数

原始 UTC 值的 Postgres 时间戳和时区

我对重新讨论这个过度讨论的话题犹豫不决,但我创建了一组表来存储数据,其中许多表包括一个名为“createdate”的字段,指定为“没有时区的时间戳”。代码库提供给这些的日期/时间值始终采用 UTC。UI 将能够控制向用户呈现数据的方式,因此某些设置将指示在 UI 中转换为时区。

其中一些时间戳将用于报告,以便为最终用户显示信息。其他时候,这些值将用于确定针对数据运行的夜间作业。

这是一个典型的多租户云托管系统,其客户端跨不同时区。服务器应该永远不会被移动,但我想改变托管区是一个非常遥远的可能性。它是在.net平台上编写的。不使用 noda 时间,只使用内置的 DateTime 内容(目前)。

文档非常清楚时区时间戳如何存储信息:https : //www.postgresql.org/docs/current/datatype-datetime.html

这个答案对两种主要时间戳数据类型的差异也有很好的背景:https : //stackoverflow.com/a/14616640/1905693

这个答案也有一些很好的信息,但面向 Java: 使用 Java 在 PostgreSQL 中存储时间的最推荐方法是什么?

Josh Berkus 有一篇过时的文章很有帮助:https ://it.toolbox.com/blogs/josh-berkus/zone-of-misunderstanding-092811

似乎其中大多数都推荐带时区的时间戳,但就我而言,没有时区的时间戳是否合适?

如果我确实想依靠 pg 进行转换,那么 AT TIME ZONE 子句可以吗?

从整体系统架构来看,依靠 UI 来改变呈现方式是一种常见且合理的方法吗?(是的,这个对于 SO 的格式来说可能过于主观了)

.net c# postgresql datetime timestamp

3
推荐指数
2
解决办法
1868
查看次数

标签 统计

postgresql ×3

datetime ×2

java ×2

jdbc ×2

timestamp ×2

.net ×1

c# ×1

database ×1

date ×1

jpa ×1

sql ×1

timezone ×1