[NSTimeZone localTimeZone]
和[NSTimeZone systemTimeZone]
之间的区别是什么?
答案 0 :(得分:22)
根据iOS的NSTimeZone引用,systemTimeZone
表示系统(设备)本身使用的时区。
localTimeZone
返回一个对象,该对象表示应用程序的当前默认时区。应用程序可以通过setDefaultTimeZone
调用更改其默认时区。
没有公开的Cocoa API来更改系统时区或更改其他应用程序的时区。
答案 1 :(得分:4)
如果您有一个从[NSTimeZone systemTimeZone]
实例化的对象,它将被应用程序缓存,并且在您使用[NSTimeZone resetSystemTimeZone]
清除它之前不会反映当前设备的区域。
如果您希望时区变量反映应用程序时区的任何更新,请使用[NSTimeZone localTimeZone]
代替[NSTimeZone defaultTimeZone]
。