2015-01-13 3 views
0

NSDate класс не хранит информацию о часовых поясах. Я должен хранить NSTimeZone отдельно. Я не могу найти способ получить часовой пояс из строки, например: "2015-01-09T00:00:00+02:00" или "2015-01-09T02:00:00Z. Не могли бы вы мне помочь, пожалуйста?Как получить временную зону от временной строки

+0

Да Я вижу, что «+02: 00» Z эквивалентно «00:00» – Tomasz

+1

В общем, вы не можете. Прочтите «Часовой пояс! = Смещение» в [wiki часового пояса] (http://stackoverflow.com/tags/timezone/info). –

ответ

1

Предлагаю использовать библиотеку для форматирования формата данных даты. Я могу порекомендовать ISO8601 форматирования даты - https://github.com/boredzo/iso-8601-date-formatter и используя его [dateFormatter dateComponentsFromString: метод, чтобы получить NSDateComponents

Edit:

Просто включить пример с metioned библиотеки:

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