gpt4 book ai didi

java - 使用 HIbernate 从数据库检索日期时获取错误的日期时间字段值

转载 作者:行者123 更新时间:2023-11-30 00:10:08 27 4
gpt4 key购买 nike

我正在使用 Hibernate 4.3.2。我想将所有日期以 UTC 格式存储在数据库中。我能够以 UTC 格式存储日期。现在我正在使用以下方法从数据库检索日期。

public void getLastActiveTimeAndCheckForIt(int pageId)
{
Criteria criteria = getCurrentSession().createCriteria(MyTable.class, "myTable");
criteria.add(Restrictions.eq("myTable.id", 1));
MyTable row = (MyTable) criteria.uniqueResult();
System.out.println(row.getUpdatedDateTime());
//output : 2014-06-10 03:05:35.0 and actual date in database : 2014-06-10 08:35:35
}

正如我所提到的,我在存储在数据库中的输出中得到了不同的日期。我不明白为什么?

我配置 UTC 时区的一些步骤。
1. TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
2. System.setProperty("user.timezone", "UTC");
3. I also set my database timezone in UTC.

最佳答案

这是由于时区偏移量被添加到您的日期对象中。尝试下面的代码

DateFormat converter = new SimpleDateFormat("dd/MM/yyyy:HH:mm:ss");
converter.setTimeZone(TimeZone.getDefault());
System.out.println(converter.format(row.getUpdatedDateTime()));

关于java - 使用 HIbernate 从数据库检索日期时获取错误的日期时间字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24137067/

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