Xcode setDateFormat: неправильный год

Я обнаружил эту проблему, используя EKEvent для добавления события в календарь с помощью моего приложения.

Поскольку я не нашел никаких ресурсов, я хотел бы знать, слышали ли вы когда-нибудь об этом.

У меня было старое приложение (разработанное для IOS 5), которое успешно использовало EKEvent с этим форматом даты.

@"гггг/мм/дд:чч:мм"

Теперь мне нужно реализовать новое приложение, и я пытался использовать старый код, но обнаружил, что, используя этот формат даты, мое приложение зарегистрировало событие в 2014 году! День был правильный, но явно не Год.

Я исправил это, изменив формат даты на

@"дд.ММ.гггг ЧЧ:мм"

Ты знаешь почему?? У вас есть идеи? Спасибо


person Miwi    schedule 15.01.2013    source источник
comment
Скорее всего, это дубликат stackoverflow.com/questions/12423179/   -  person Joachim Isaksson    schedule 15.01.2013
comment
Если строка формата была так далека от фактического формата, трудно предположить, что могло быть прочитано. (Хотя имейте в виду, что Apple делает некоторые странные вещи, основанные на настройке локали и настройке 12/24 в телефоне — это может привести к тому, что совершенно действующая строка форматирования сгорит.)   -  person Hot Licks    schedule 15.01.2013
comment
К сожалению, не ясно, является ли это дубликатом, потому что ОП утверждает, что он использовал nad и использует правильную строчную букву y   -  person AlexWien    schedule 15.01.2013
comment
@AlexWien Да, использование YYYY (в настоящее время) вернет 2014 год, так что, скорее всего, но я решил не голосовать за закрытие, пока не буду уверен.   -  person Joachim Isaksson    schedule 15.01.2013
comment
Это в Xcode-Documentation, поисковая фраза Use Format Strings to Specify Custom Formats, второе голубоватое поле   -  person    schedule 16.01.2013
comment
Извините, вы правы!! С y вместо Y это работает! Я не нашел дубликат ответа, который вы мне отправили! Спасибо   -  person Miwi    schedule 16.01.2013


Ответы (1)


Эта ошибка обычно возникает, когда Вы используете символ недели года "Y" большой Y, а маленький "y" правильный. Вы уверены, что используете маленькую «y» в коде?

маленькая буква "у" верна, проверьте еще раз.

person AlexWien    schedule 15.01.2013
comment
@AnoopVaidya -- Бззз!! Неправильный ответ! - person Hot Licks; 15.01.2013
comment
@HotLicks: я сослался на ссылку Иоахима и посчитал, что этот ответ правильный. :( - person Anoop Vaidya; 15.01.2013
comment
@AnoopVaidya маленький y правильный, а не большой Y, как можно прочитать по ссылке - person AlexWien; 15.01.2013
comment
@AnoopVaidya - я не понимаю, как использование Y что-то исправит. Y — это специальное обозначение, которое вряд ли когда-либо будет действительным. - person Hot Licks; 15.01.2013
comment
Сначала я написал здесь комментарий как неправильный, а потом увидел комментарий Иоахима и удалил свой комментарий. Поскольку у меня нет Mac, чтобы проверить эти коды сейчас.... - person Anoop Vaidya; 15.01.2013