Дата выбора строки в формате строки отключена - PullRequest
4 голосов
/ 17 июня 2011

У меня есть UIDatePicker, в котором есть только месяц, день и год. Я пытаюсь вывести эту выбранную дату в TextField, используя этот код:

-(IBAction) dateChanged:(id)sender
{
    NSDate *date = datePicker.date;
    NSDateFormatter *df = [[NSDateFormatter alloc] init];
    [df setDateFormat:@"M/d/YYYY"];
    expirationDateField.text = [df stringFromDate:date];
    [df release];
}

Для большинства дат это работает, но по какой-то причине, когда я выбираю 1 января 2009 года или 2 января 2009 года, я получаю «01.01.2008» или «1/2/2008» (это не относится к 2009 году). Я думал, что это проблема с часовым поясом, но он не будет отображать неправильный год для 2 января, если бы это было так. Есть идеи?

1 Ответ

8 голосов
/ 17 июня 2011

Используйте строчные буквы yyyy для года.

Прописные буквы YYYY возвращает год начала недели, в которую попадает дата.
См. Шаблоны формата даты Unicode .

...