我需要获取用户时区与GMT伦敦时间之间的差异信息,以小时或分钟为单位。
任何人都可以提供帮助吗?
我一直在四处寻找,我有点困惑。
谢谢,
瑞
答案 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];