时区默认为 UTC [已关闭]

问题描述 投票:0回答:1

我有一个正在按预期运行的应用程序。应用程序的许多部分显示日期时间。我正在使用 jodatime 库。

向应用程序添加功能后,默认时区更改为 UTC。

我想知道为什么会发生这种情况,因为我没有明确设置时区,我正在用

DateTime
DateTime.now()
初始化
DateTime(millis)
。我知道我应该明确设置时区,但是 jodatime 的默认时区更改的原因可能是什么?

android kotlin jodatime
1个回答
1
投票

请勿在

DateTime.now()
之前致电
application::onCreate
。这将导致
null
默认
TimeZone
。如果您以某种方式在应用程序类中初始化 DateTime 变量,如下所示:

    private var dateTime: DateTime = DateTime.now()

将其调用延迟到

application::onCreate
之后或内部,如下所示:

    private lateinit var dateTime: DateTime

    override fun onCreate() {
        super.onCreate()
        dateTime = DateTime.now()
    }
© www.soinside.com 2019 - 2024. All rights reserved.