Under NSTimeZone class, there is both +localTimeZone and +systemTimeZone. I did a test on iphone simulator, both return NSTimeZone object indicating the same timezone. What
The docs are a wealth of useful information for this kind of thing. In this case, they say:
localTimeZone is the default time zone for the current application. This can be set by the user or programmatically in the app (or possibly in other ways). It's basically a pointer to defaultTimeZone with a level of indirection; if the default time zone changes, localTimeZone will change as well.systemTimeZone, on the other hand, is the time zone used by the core system. A cached value for this will not change if the system time zone changes during the application's execution, unlike localTimeZone.