【发布时间】:2019-01-14 20:13:06
【问题描述】:
例如,我有 UTC 日期时间
String dateTime = "2018-04-23 19:50:53.236";
我想将其转换为特定的时区US/Eastern,然后我想检查转换后的datetime 是否属于DaylightSavings
时区
TimeZone.getTimeZone("US/Eastern");
夏令时代码
ZoneId.of("US/Eastern")
.getRules()
.isDaylightSavings(
Instant.now()
)
如果isDaylightSavings 返回true,我必须将偏移量(-04:00) 附加到输入dateTime
样本输出
dateTime = "2018-04-23T19:50:53-04:00"
如果isDaylightSavings 返回false,我必须将偏移量(-05:00) 附加到输入dateTime
样本输出
dateTime = "2018-04-23T19:50:53-05:00"
我有一些代码,但我很困惑如何将它们组合起来,最后一个问题
如何在UTC 中使用偏移量生成当前datetime f 不同区域,例如考虑这个US/Eastern
样本输出
dateTime = "2019-01-14T14:12:53-05:00"
【问题讨论】:
-
除非我遗漏了什么,将 utc 日期/时间转换为特定时区应该会自动应用夏令时规则,您只需要通过适当的格式化程序输出结果
-
好的,你能告诉我怎么做吗?这对我来说不是很清楚@MadProgrammer
-
您可以查看this blog 了解时区之间转换的示例
-
谢谢先生,让我看看@MadProgrammer