Какую строку формата я использую в миллисекундах в строках даты на iPhone?

Мне нужно разбирать строки в формате, который включает миллисекунды. Какую строку формата я использую для получения правильного значения даты?

Например, предположим, что у меня есть строка со следующим значением: "2011-06-23T13: 13: 00.000"

Какую строку формата я передаю своему NSDateFormatter в следующем коде?

NSString *dateValue = @"2011-06-23T13:13:00.000";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
NSString *formatString = @"yyyy-MM-dd'T'HH:mm:ss.???";
[formatter setDateFormat:formatString];
NSDate *date = [formatter dateFromString:dateValue];

Что я использую вместо??? в коде выше?

Ответ 1

Это SSS, в соответствии с Спецификацией языка разметки языка Java Unicode.

"yyyy-MM-dd'T'HH:mm:ss.SSS"

В более общем плане, используйте любое количество символов S верхнего строчка, чтобы получить такое количество знаков после запятой в компоненте "доли секунды". (So ​​ ss.S покажет время до ближайшей десятой секунды, например.)

Ответ 3

Вам нужно передать такое же количество "S" в конце, например, "Моя дата" была "2015-11-17T03: 36: 45.041503Z" Я использовал 'yyyy-MM -dd'T'HH: mm: ss.SSSSSSz ', я имею в виду, что число "S" равно 6, если ввести 6 цифр.

Ответ 4

используйте fff для трех десятичных знаков секунды

"yyyy-MM-dd'T'HH:mm:ss.SSS"