如何从时间字符串中获取时区

How to get timezone from time string

NSDate class 不存储有关时区的信息。我必须单独存储 NSTimeZone。我找不到任何方法从字符串中获取时区,例如: "2015-01-09T00:00:00+02:00""2015-01-09T02:00:00Z 。你能帮帮我吗?

我建议使用库来格式化日期数据格式。我可以推荐 ISO8601 日期格式化程序 - https://github.com/boredzo/iso-8601-date-formatter 并使用它的 [dateFormatter dateComponentsFromString: 方法来获取 NSDateComponents

编辑:

只是为了在提到的库中包含示例:

ISO8601DateFormatter *dateFormatter = [[ISO8601DateFormatter alloc] init];
dateFormatter.includeTime = YES;
NSString *testTime = @"2015-01-09T00:00:00+02:00";
NSTimeZone *timeZone;
NSDateComponents *components = [dateFormatter dateComponentsFromString:testTime timeZone:&timeZone];

生产:

Printing description of timeZone:
GMT+0200 (GMT+2) offset 7200