gpt4 book ai didi

java - Google App Engine - GAE 不会设置默认时区

转载 作者:行者123 更新时间:2023-11-30 09:21:59 25 4
gpt4 key购买 nike

我尝试了以下方法,因此我可以根据我的时区获取日期,该时区是 "Africa/Johannesburg"GMT+2:00 但 Google 服务器总是返回时间使用比我晚 2 小时的自己的时区。

我已经完成了FF:

appengine-web.xml我已经设置了

<property name="user.timezone" value="Africa/Johannesburg"/>

在创建 Date 对象之前,我还尝试了 TimeZone.setDefault(TimeZone.getTimeZone("GMT+2:00"));

在我的servlet的init方法中,我也试过了

@Override
public void init() throws ServletException {
TimeZone.setDefault(TimeZone.getTimeZone("GMT+2:00"));
}

但是这东西不只是工作。因为 JDK 日期不是线程安全的,所以我使用的是 JodaTime,效果很好,事实上,当我执行 new DateTime(DateTimeZone.forID("Africa/Johannesburg")) 时,我得到了正确的时间,但对于遗留的问题,我必须将日期存储在 JDK 日期中,因此必须通过调用 .Date() 将 Joda 转换为 JDK 日期,然后时间在错误的时区完全搞砸了。

有没有人偶然知道如何设置它而不必减去时差。

最佳答案

你不能。系统时区不可更改。您应该以 unix 时间存储所有日期,并使用您的时区将它们转换为 Date 或 Calendar 对象。我也不认为 GAE 总是会使用相同的时区......

关于java - Google App Engine - GAE 不会设置默认时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16672337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com