我们有NSTimeZone类,可以提供有关时区的更多信息。 但我想只得到时间的偏移。例如:+ 05.30是Inida的偏移量 换句话说,参考UTC的时间偏移。
以下代码的一个问题是它与4.3模拟器崩溃并且与4.2模拟器一起工作正常。因为4.2模拟器参考GMT和4.3模拟器参考IST提供输出
NSString* tzDescription = [[NSTimeZone systemTimeZone] description];
NSArray* tzArray = [tzDescription componentsSeparatedByString:@"GMT"];
NSString* gmtStr = [[tzArray objectAtIndex:1] substringToIndex:6];
我找不到通用的解决方案。
答案 0 :(得分:5)
我认为您可以使用NSDate和NSDateFormatter类来获取时区偏移量。你可以通过以下方式完成。
NSDate *date = [NSDate date];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc]
initWithDateFormat:@"zzz" allowNaturalLanguage:NO];
NSString *zoneOffset = [dateFormat stringFromDate:date];
所以现在在zoneOffset中你将获得所需的东西。