2014-06-10 3 views
0

Я некоторое время задерживался на этом, и хотя я действительно верю, что код, который у меня есть, находится в рабочем состоянии, я не могу преобразовать следующую строку в дату из-за невозможности правильно установите NSDateFormatter.Конкретный форматировщик для преобразования NSString в NSDate

2014-06-09T23: 24: 00,0000000

Вот некоторые примеры кода:

NSString *dateString = @"2014-06-09T23:24:00.0000000"; 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"]; 

NSDate *date = [[NSDate alloc] init]; 
date = [dateFormatter dateFromString:dateString]; 
NSLog(@"date: %@", date); 

В этом примере, журнал будет появляться нуль.

+0

Ваша строка формата не соответствует действительному формату вашей строки даты в , –

ответ

3

Поскольку ваша дата имеет дробную часть, вам нужно добавить ее к форматированию даты, иначе вы не дадите ей то, что она ожидает. Добавить .SSS в конец вашей строки формата, так что ваш код будет выглядеть следующим образом, и вернуть дату вы ожидаете:

NSString *dateString = @"2014-06-09T23:24:00.0000000"; 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS"]; 

NSDate* date = [dateFormatter dateFromString:dateString]; 
NSLog(@"date: %@", date); 

распечатки: 2014-06-10 06:24:00 +0000

Смежные вопросы