如何从时间字符串中获取时区
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
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