gpt4 book ai didi

postgresql - 如何使用 Joda Time、JPA、EclipseLink 和 Postgres 保存和检索具有指定时区的这些时间戳

转载 作者:行者123 更新时间:2023-11-29 11:30:06 25 4
gpt4 key购买 nike

这似乎是一个常见问题,所以也许我遗漏了一些明显的东西。使用 Joda Time 我想保留带有时区的日期。如果我不使用 JPA,我会想做这样的事情来保存和检索时间戳:

create table test_dates
(
zone varchar(50),
ts_with_time_zone timestamp with time zone
);

insert into test_dates values ('UTC', '2012-08-12 12:34:56 UTC');
insert into test_dates values ('MST', '2012-08-12 05:34:56 MST');

select 'UTC in MST', ts_with_time_zone at time zone 'MST'
from test_dates where zone = 'UTC';

然后如何使用 Joda Time、JPA、EclipseLink 和 Postgres 保存和检索具有指定时区的这些时间戳?

我已经看到使用 converters 的答案但我不确定您将如何指定或使用时区。当然我可以获得 UTC 时间并自己转换它,但这违背了拥有“with time zone”列的目的。这可能吗?

理想的解决方案是 EclipseLink 处理 JodaTime 类似于 hibernate .

最佳答案

您可以自定义 PostgreSQLPlatform 以添加对通过 JDBC 存储时区的支持。您的 JDBC 驱动程序必须支持时区(很可能通过自定义类型或日历 API)。

EclipseLink 确实支持 Oracle 上的时区,因此如果数据库和 JDBC 驱动程序支持时区,应该也可以扩展 PostgreSQLPlatform。

关于postgresql - 如何使用 Joda Time、JPA、EclipseLink 和 Postgres 保存和检索具有指定时区的这些时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13802723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com