Если вы хотите просто отобразить текущее время для данной зоны, вам нужно установить свойство timeZone NSDateFormatter:
[formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"CST"]];
Если вы хотите, чтобы объект NSDate содержал время из данной зоны, вам нужно установить часовой пояс по умолчанию перед извлечением этой даты:
NSDate* date = [NSDate date];
NSLog(@"%@", [date description]);
[NSTimeZone setDefaultTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"CST"]];
NSDate* nDate = [NSDate date];
NSLog(@"%@", [nDate description]);
//output
2010-08-05 12:32:38 +0300
2010-08-05 04:32:38 -0500