NSTimeZone localTimeZone vs systemTimeZone

[NSTimeZone localTimeZone][NSTimeZone systemTimeZone]什么[NSTimeZone systemTimeZone]

根据iOS的NSTimeZone参考, systemTimeZone表示系统(设备)本身使用的时区。

localTimeZone返回一个代表应用程序当前默认时区的对象。 应用程序可以通过setDefaultTimeZone调用更改其默认时区。

没有暴露的Cocoa API来改变系统时区,或改变另一个应用程序的时区。

如果您有一个从[NSTimeZone systemTimeZone]实例化的对象,它将被应用程序caching,并且不会反映当前设备的区域,除非您使用[NSTimeZone resetSystemTimeZone]清除它。

如果您希望您的timezonevariables反映应用程序时区的任何更新,请使用[NSTimeZone localTimeZone]而不是[NSTimeZone defaultTimeZone]