gpt4 book ai didi

java - 如何在指定时区的 hibernate 中获取记录?

转载 作者:行者123 更新时间:2023-11-29 04:23:20 24 4
gpt4 key购买 nike

  1. 我需要为我的应用程序提供对不同时区的支持。
  2. 为了插入,我的 JVM 默认使用 UTC 时间,因此在 @CreationTimestamp 和 @UpdateTimestamp 的帮助下,hibernate 将创建日期和更新日期作为 UTC 时间插入,后者指的是 JVM 时区。
  3. 每个请求都来自不同的时区。基于时区,我需要将 UTC 时间解析为该特定时区。
  4. 我不想手动解析所有记录的日期。 hibernate 中是否有任何选项,就像我在获取时指定时区一样。这样我就可以根据给定时区获取创建和更新日期(时区是动态获取的)。

最佳答案

已经有几个关于日期时间最佳实践的话题,例如Daylight saving time and time zone best practices

我建议如下:

  • 始终在后端和数据库中将所有日期时间处理为 UTC。
  • 将日期时间作为 UTC 传输给您的客户。
  • 在客户端将 UTC 日期时间转换为本地日期时区。用于显示和更新目的。

根据我的经验,最好让客户端处理所有本地日期时间/时区转换,并 promise 将 UTC 用于所有通信和后端用例。

如果您想将日期直接转储到网页中,您可以使用类似 http://momentjs.com/ 的 js 库将其转换为语言环境日期时间。

关于java - 如何在指定时区的 hibernate 中获取记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47775692/

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