【发布时间】:2016-12-19 15:40:01
【问题描述】:
我为东部时区的客户准备了这段代码:
public DateTime getActivityDate() {
return new DateTime(activityDate, DateTimeZone.UTC).minusHours(5);
}
客户报告说它一直在工作,直到 11 月的时间改变。现在他们报告说他们认为时间“比东部时区早 1 小时”。
有什么方法可以让我在 davelight 节省时间和标准时间都工作,而不是将其硬编码为 minusHours(5) 和 minusHours(6)?
【问题讨论】:
-
有at least 4 timezones使用缩写“EST”。不要使用三字母缩写,使用 IANA 缩写,例如“America/New York”。
-
有一点很奇怪。在谈到东部时区时,您如何证明减去 5 或 6 个小时是合理的?纽约 - 时间有偏移量 -05 或 -04 但没有 -06。 @Andy Turner 给出的链接中提到的其他区域甚至完全关闭了您想要的偏移量。