Как проанализировать этот формат времени в Obj-C с помощью NSDateFormatter?

#iphone #date #timezone #nsdateformatter

#iPhone #Дата #Часовой пояс #nsdateformatter

Вопрос:

У меня возникают большие проблемы при попытке проанализировать следующую временную метку с помощью NSDateFormatter:

 30 MAR 2011 11:10:59 HKT
  

Я мог бы проанализировать все, кроме часового пояса «HKT» в конце. Я пытался использовать несколько строк идентификаторов часовых поясов, но безуспешно (они всегда возвращают nil, как только я пытаюсь проанализировать часовой пояс, используя любой символ часового пояса). В чем может быть проблема?

Это не работает — z ~ zzz: (аббревиатура определенного часового пояса GMT):

 [oDateParser setDateFormat:@"dd MMM yyyy HH:mm:ss zzz"];
  

также не работает — v ~ vvv: (Общая аббревиатура часового пояса GMT):

 [oDateParser setDateFormat:@"dd MMM yyyy HH:mm:ss vvv"];
  

Комментарии:

1. Я подозреваю, что вам придется удалить идентификатор часового пояса и обработать это отдельно.

2. (Проблема в том, что сокращения часовых поясов не стандартизированы, и программа форматирования, скорее всего, распознает только несколько.)

Ответ №1:

Я думаю, это может сэкономить вам много работы и времениhttp://www.stepcase.com/blog/2008/12/02/format-string-for-the-iphone-nsdateformatter Приветствия 🙂

Комментарии:

1. Я получил эти строки по ссылке выше, без кубиков.

Ответ №2:

Формат должен быть:

 [oDateParser setDateFormat:@"dd MMM yyyy HH:mm:ss ZZZ"];
  

(обратите внимание на заглавную букву ZZZ для обозначения часового пояса)