0

Android,似乎没有API可以轻松获取本地时间。通过网络挖掘,我找到了一些代码来计算UTC使用类的时间偏移量TimeZone

final long timestamp = System.currentTimeMillis();
int offset = TimeZone.getDefault().getOffset(timestamp);
if (TimeZone.getDefault().inDaylightTime(Calendar.getInstance().getTime())) {
    offset = offset - TimeZone.getDefault().getDSTSavings();
}

现在,这段代码几乎是我所需要的,但很快就会发现公式是错误的。例如CET,偏移量变为 3600000,但CEST它会是 0 - 这是错误的(应该是 7200000)。

显然,我可以修补代码以使用加法而不是减法,但我不确定这是否安全,因为原作者明确表示需要减法(我认为它是为了PST)。

如何让我的公式适用于所有时区?

4

0 回答 0