NSTimeZone localTimeZone vs systemTimeZone

时间:2011-06-25 12:51:39

标签: iphone objective-c ios

[NSTimeZone localTimeZone][NSTimeZone systemTimeZone]之间的区别是什么?

2 个答案:

答案 0 :(得分:22)

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

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

没有公开的Cocoa API来更改系统时区或更改其他应用程序的时区。

答案 1 :(得分:4)

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

如果您希望时区变量反映应用程序时区的任何更新,请使用[NSTimeZone localTimeZone]代替[NSTimeZone defaultTimeZone]