gpt4 book ai didi

java - 使用 hibernate select 获取时间戳字段的错误时间

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

使用 Hibernate select 获取时间戳字段的时间错误。

<小时/>

我们正在使用 Hibernate 框架和 Postgres数据库。

我们有一个表,在数据类型 TIMESTAMP WITH TIME ZONE 列中存储“created_time” 。

+------------------------------------------+
+ created_time +
+------------------------------------------+
+ 2014-09-22 04:30:00.756 +
+ -----------------------------------------+

假设我们在“created_time”中有一个数据'2014-09-22 04:30:00.756'

我使用了以下 hibernate 查询

query= "SELECT column1,column2,createdTime FROM TableName";


List<Object[]> dataList=selectQuery.list();
for(Object data[] : dataList)
{
System.out.println("Date and time -> "+data[2].toString()); //Time coming wrong here
}

当我浏览 dataList 时,我发现日期正确,但时间是其他内容,例如“11:45:00.345”

如果我在pgAdminIII中使用相同的查询意味着它来得正确。

但是对于 hibernate 来说,它是错误的。

我什至尝试过SQL查询。我仍然面临着错误的时间问题。

我在网上搜索时没有得到解决方案。

最佳答案

您可能获得的是本地时区而不是服务器时区。因此,要获取服务器的时间戳,请将您的查询更改为如下所示:

query= "SELECT column1,column2,createdTime at time zone current_setting('TIMEZONE') FROM TableName";

关于java - 使用 hibernate select 获取时间戳字段的错误时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25978233/

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