我使用时区字符串(如 GMT-8、GMT、PST、EST 等)构建了一个 Java TimeZone 对象。这没有考虑时区是否启用了夏令时。现在需要包含此检查,而不是给出输入为 PDT 或 EDT,夏令时作为单独的标志给出。我不确定 TimeZone 是否有直接方法来更改该 TimeZone 的夏令时属性。
因此,如果我将 PST 和 DaylightSaving 之类的输入设为真,那么我必须将字符串更改为 PDT。更糟糕的是,有时我会得到诸如 GMT-8 或 GMT-6 之类的输入,而日光标志为真或假。有出路吗 ?
我不能使用第三方 TimeZone 相关的类
代码示例:
TimeZone timeZone = TimeZone.getTimeZone("EST");
TimeZone timeZone = TimeZone.getTimeZone("PST");
TimeZone timeZone = TimeZone.getTimeZone("GMT-8");