我已经尝试了以下方法,所以我可以根据我的时区获取日期,"Africa/Johannesburg"
或者GMT+2:00
但谷歌服务器总是使用比我晚 2 小时的自己的时区返回时间。
我已经完成了FF:
在appengine-web.xml
我已经设置
<property name="user.timezone" value="Africa/Johannesburg"/>
TimeZone.setDefault(TimeZone.getTimeZone("GMT+2:00"));
在创建 Date 对象之前我也尝试 过
在我的 servlet 的 init 方法中,我也尝试过
@Override
public void init() throws ServletException {
TimeZone.setDefault(TimeZone.getTimeZone("GMT+2:00"));
}
但这件事不会奏效。因为 JDK 日期不是线程安全的,所以我使用的是 JodaTime,它运行良好,事实上,当new DateTime(DateTimeZone.forID("Africa/Johannesburg"))
我得到正确的时间但对于遗留问题时,我必须将日期存储在 JDK 日期中,因此必须通过调用将 Joda 转换为 JDK 日期。日期(),那么时间完全搞砸了错误的时区。
有没有人偶然知道如何设置它而不必减去小时差。