【发布时间】:2019-03-07 05:12:11
【问题描述】:
我在 java 中使用 ZonedDateTime 作为变量。
我想将变量的值(默认 UTC 时区)转换为“美国/纽约”的时区,以使日期保持不变。
例如 UTC 上午 4:00 = 东部标准时间上午 12:00。从 ZonedDateTime 变量中添加或减去小时数,这样日期不会更改。
我们如何才能实现这种转换?
【问题讨论】:
-
当你说“date is not changed”时,你的意思是“time is not changed”吗?例如。凌晨 2 点的 7/5 应该保持在凌晨 2 点的 7/5。 --- 或者你的意思是应该根据时区变化调整时间,但不应该改变date?例如。凌晨 2 点的 7/5 不应是晚上 10 点的 7/4,而是晚上 10 点的 7/5。
-
我也没明白。您想将 UTC 凌晨 4 点转换为美国东部时间午夜 12 点还是美国东部时间凌晨 4 点?只有后者会在所有情况下保留日期(日期为年、月和月日)。
标签: java datetime java-8 timezone zoneddatetime