Я выбираю RSS, в котором я получаю следующую Отметку даты:
2010-05-10T06:11:14.000Z
Теперь я использую NSDateFormatter для парсинга этого штампа даты и времени.
[parseFormatter setDateFormat:@"yyyy-MM-dTH:m:s.z"];
Но не хорошо работать, если просто удаляют часть метки времени, она работает на дату [parseFormatter setDateFormat:@"yyyy-MM-d"];
Но если я добавляю остальную часть материала, это возвращает ноль.
Какая-либо идея?
Заранее спасибо....
Вам нужно разобрать значения с нулевой прокладкой для d, H, m, s
Вам нужно экранировать литерал T
как 'T'
Вам нужно разобрать дробную часть секунд с SSS
Вы можете принять литерал Z
с 'Z'
или использовать заглавную Z, чтобы попытаться разобрать часовой пояс, но RSS использует отдельный стандарт.
@"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
По памяти у меня тоже была такая проблема в прошлом. Попробуйте сделать следующее:
Замените букву "T" в RSS-ленте пробелом (и, очевидно, измените строку формата даты).
В вашей RSS-ленте есть вставка цифр, а в вашей строке формата - нет. Попробуйте "yyyy-MM-ddTHH:mm:ss.Z". Согласно этой ссылке, это "z" должно быть капилизировано. http://www.stepcase.com/blog/2008/12/02/format-string-for-the-iphone-nsdateformatter/
Удалите информацию о часовом поясе из RSS-канала и разберите это вручную. Кажется, я помню, что это вызывало у меня проблемы.