【问题标题】:iOS API TimeZone.current does not return actual system timeiOS API TimeZone.current 不返回实际系统时间
【发布时间】:2025-12-07 04:30:02
【问题描述】:

我的 iOS swift 应用程序调用 TimeZone.current 当应用程序进入前台时。如果我从 Settings->General->Date&Time 手动更改时区,然后将我的应用程序带到前台,我会得到正确的时区。但是如果我的时区设置设置为自动,然后我关闭自动,并将我的应用程序带回到前台,TimeZone.current API 不会反映新的系统时区!

如果我将应用程序置于后台并再次回到前台,这一次它反映了正确的系统时区。 这是 iOS SDK 中的错误吗?有解决办法吗?

【问题讨论】:

    标签: ios swift xcode nstimezone


    【解决方案1】:

    尝试使用NSTimeZone.local,即:

    跟踪当前系统时区的对象。

    您也可以使用NSTimeZone.system 属性,但您需要手动调用NSTimeZone.resetSystemTimeZone() 来清除和刷新当前缓存的系统时区值。

    【讨论】: