NSCalendar имеет метод setTimeZone:
Доступно в iOS 2.0 и более поздних версиях.
Устанавливает часовой пояс для получателя.
- (void)setTimeZone:(NSTimeZone *)tz
Пример:
NSCalendar *calendar = [NSCalendar currentCalendar];
[calendar setTimeZone:[NSTimeZone timeZoneWithName:@"America/Jamaica"]];
NSLog(@"calendar timezone: %@", calendar.timeZone);
Вывод NSLog:
календарный часовой пояс: смещение Америки / Ямайки (EST) -18000
или со смещением часового пояса:
NSCalendar *calendar = [NSCalendar currentCalendar];
[calendar setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
NSLog(@"calendar timezone: %@", calendar.timeZone);
NSLog выход:
calendar timezone: GMT (GMT) offset 0