Какую строку формата я использую в миллисекундах в строках даты на 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
покажет время до ближайшей десятой секунды, например.)
Ответ 2
Руководство по шаблонам формата даты предполагает, что "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"