localTimeZone
Returns an object that forwards all messages to the default time zone for the current application.
+ (NSTimeZone *)localTimeZone
Return Value
An object that forwards all messages to the default time zone for the current application.
Discussion of [NSTimeZone localTimeZone]
The local time zone represents the current state of the default time zone at all times. If you get the default time zone (using
defaultTimeZone
) and hold onto the returned object, it does not change if a subsequent invocation of setDefaultTimeZone:
changes the default time zone—you still have the specific time zone you originally got. The local time zone adds a level of indirection, it acts as if it were the current default time zone whenever you invoke a method on it.
Example of [NSTimeZone localTimeZone]
int gmtOffset = [[NSTimeZone localTimeZone] secondsFromGMT];
int daylightOffset = [[NSTimeZone localTimeZone] daylightSavingTimeOffset];
int daySeconds = ((int)([date timeIntervalSinceReferenceDate]+gmtOffset+daylightOffset))%(86400+1);
NSLog(@"Day seconds: %i", daySeconds);
Example of [NSTimeZone localTimeZone]
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
[calendar setTimeZone:[NSTimeZone localTimeZone]];
NSDateComponents *comps = [calendar components:NSHourCalendarUnit|NSMinuteCalendarUnit| NSSecondCalendarUnit
fromDate:[NSDate date]];
NSInteger time = [comps hour] * 3600 + [comps minute] * 60 + [comps second];
NSLog(@"Day seconds: %i", time);