Двухзначный год с NSDateFormatter не работает - PullRequest
2 голосов
/ 08 октября 2009

У меня есть форматер даты в стиле 10.4, примененный к NSTextFieldCell. Я вызываю setTwoDigitStartDate: (пробовал как с датой эпохи, так и с «справочной» датой), но когда я набираю дату с двухзначным годом, он устанавливает год на 0009 вместо 2009.

Заголовок:

IBOutlet NSTextFieldCell *transactionDateField; // outlet *IS* set correctly in IB

Реализация:

- (void)awakeFromNib {
    NSDate *startDate = [NSDate dateWithTimeIntervalSinceReferenceDate:0];
    //NSDate *startDate = [NSDate dateWithTimeIntervalSince1970:0];
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setFormatterBehavior:NSDateFormatterBehavior10_4];
    [dateFormat setDateStyle:NSDateFormatterMediumStyle];
    [dateFormat setTwoDigitStartDate:startDate];
    [dateFormat setLenient:YES]; // tried with & without this
    [transactionDateField setFormatter:dateFormat];
}

Я что-то упускаю из виду?

1 Ответ

1 голос
/ 08 октября 2009

Попробуйте изменить NSDateFormatterMediumStyle на NSDateFormatterShortStyle

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...