я получил строку даты в отношении этого формата:Как разобрать ISO8601 дату
2011-12-29T09:09:06-0500
Как я могу преобразовать это в объект даты?
я получил строку даты в отношении этого формата:Как разобрать ISO8601 дату
2011-12-29T09:09:06-0500
Как я могу преобразовать это в объект даты?
NSString *date = [[NSDate date] description];
[NSDateFormatter setDefaultFormatterBehavior:NSDateFormatterBehavior10_4];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'"];
NSDate *dateFromString = [[NSDate alloc] init];
dateFromString = [dateFormatter dateFromString:<NSString containing date>];
Попробуйте это решение
NSString *dateString = @"2011-12-29T09:09:06-0500";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
NSDate *dateFromString = [dateFormatter dateFromString:dateString];
[dateFormatter release];
NSLog(@" dateFromString %@",dateFromString);
Забирает ли это TZ или ударяет его в Зулу или ...? (Я ничего не использую iX.) –
Это не удается для множества строк даты ISO8601, например. "2013-11-27T11: 28: 10.201-08: 00". http://en.wikipedia.org/wiki/ISO_8601 Есть ли что-нибудь более всеобъемлющее? – Adrian
быстрые версии: 'пусть дата = "2008-12-29T00: 27: 42-0800" пусть форматировщик = NSDateFormatter() formatter.setLocalizedDateFormatFromTemplate ("YYYY-MM-dd'T'HH: мм: ssZZZ") let final = formatter.dateFromString (date) ' – fatihyildizhan
вы искали на SO или Google? – Sarah
http://stackoverflow.com/questions/4999396/how-to-parse-a-date-string-into-an-nsdate-object-in-ios, http://stackoverflow.com/questions/6194998/whats -the-right-way-to-parse-an-iso8601-date-in-cocoa, http://stackoverflow.com/questions/7925038/why-nsdateformatter-can-not-parse-date-from-iso-8601 -формат, http://stackoverflow.com/questions/5559912/date-time-parsing-in-ios –