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

时间:2015-01-13 16:11:54

标签: ios timezone nsdate nstimezone

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

1 个答案:

答案 0 :(得分:1)

我建议使用库来格式化日期数据格式。我可以推荐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