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]
。