NSTimeZone与GMT的区别

时间:2012-02-14 17:01:58

标签: iphone nscalendar nstimezone

我需要获取用户时区与GMT伦敦时间之间的差异信息,以小时或分钟为单位。

任何人都可以提供帮助吗?

我一直在四处寻找,我有点困惑。

谢谢,

2 个答案:

答案 0 :(得分:5)

NSTimeZone有一个名为secondsFromGMT的方法。

  

返回值
  接收器与格林威治标准时间之间的当前秒差。

答案 1 :(得分:2)

我希望这会对你有所帮助:

NSInteger hours, min;
NSDateFormatter *dateFormatterGMT = [[NSDateFormatter alloc] init];

//GMT Time Zone
NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[dateFormatterGMT setTimeZone:gmt];

dateFormatterGMT.dateFormat = @"h";
hours = [[dateFormatterGMT stringFromDate:[NSDate date]] intValue];
NSLog(@"%ld", hours);

dateFormatterGMT.dateFormat = @"mm";
min = [[dateFormatterGMT stringFromDate:[NSDate date]] intValue];
NSLog(@"%ld", min);

//User Time Zone
NSDateFormatter *dateFormatterUser = [[NSDateFormatter alloc] init];
NSDate *userDate = [NSDate date];

dateFormatterUser.dateFormat = @"h";
hours = [[dateFormatterUser stringFromDate:userDate] intValue];
NSLog(@"%ld", hours);

dateFormatterUser.dateFormat = @"mm";
min = [[dateFormatterUser stringFromDate:userDate] intValue];
NSLog(@"%ld", min);

[dateFormatterUser release];