【发布时间】:2014-09-03 14:55:22
【问题描述】:
在我的 java 程序中,我做了这样的事情
1.)
LocalDateTime currentDateTime = new LocalDateTime();
LocalDateTime newDateTime = new LocalDateTime(currentDateTime);
newDateTime = newDateTime.plusDays(daysOffset);
newDateTime = newDateTime.plusHours(hoursOffset);
newDateTime = newDateTime.plusMinutes(minutesOffset);
稍后在我做的代码中
2.)
boolean newDateTimeIsInWinter =
dateTimeZone.getOffset(newDateTime.toDateTime().getMillis()) == dateTimeZone.getStandardOffset(newDateTime.toDateTime().getMillis());
调用newDateTime.toDateTime() 可能会导致java.lang.IllegalArgumentException: Illegal instant due to time zone offset transition。
所以我想在 1.) 和 2.) 之间添加这样的内容。
if (dateTimeZone.isLocalDateTimeGap(newDateTime))
{
int dstOffsetMinutes = ???;
newDateTime = newDateTime.plusMinutes(dstOffsetMinutes);
}
谁能告诉我??? 的正确替代品?这不像将它设置为60 那样简单。例如 LHST 时区只有 30 分钟的偏移量。
【问题讨论】: