【发布时间】:2016-12-07 11:24:03
【问题描述】:
我有日期存储在 UTC 时区的 db 中。必须将此日期转换为系统本地时区。我研究了stackoverflow中的所有其他问题,但没有一个对我有用。请任何人都可以帮我解决这个问题。 我只需要 java.utils.Date 中的输出,因为石英调度程序的 startAt() 方法只接受日期。
【问题讨论】:
-
如果调度程序只接受
Date,那么就没有需要关注的时区——Date代表一个瞬间。我怀疑如果您提供更多背景信息,我们将能够为您提供更多帮助... -
@dhananjay 你用的是哪个java版本?
-
实际上日期由 ROR 存储到数据库中,它在存储之前将日期转换为 UTC 格式。因此,当我从 db 获取日期并创建 Date 对象时,时间会从我输入的内容发生变化,因为它的时区发生了变化。所以我需要一种方法来获取 UTC 时区中存储在 db 中的日期并将其转换为本地时区
-
向我们展示您用于从数据库中获取日期的代码。您是否在此处指定数据库中的日期为 UTC?
-
reminderQueues.setStartDate(rs.getTimestamp("rq.start_date"));其中 rs 是 ResultSet。是的,日期以 UTC 格式存储在 db 中