2
У меня форматирование даты формата 10.4, примененное к NSTextFieldCell. Я называю setTwoDigitStartDate: (пробовал как дату эпохи и «эталонным» дата), но когда я ввожу дату с двузначного года устанавливает год в 0009 вместо 2009Двухзначные годы с NSDateFormatter не работают
Заголовок:
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];
}
я упускаю что-то очевидное?
Оказывается, что setTwoDigitStartDate: работает только с форматов даты с двумя цифрами года (NSDateFormatterShortStyle быть один такой формат). Я думал, что вы сможете контролировать ввод сокращенных длинных дат с помощью этого метода удобства, но, увы, вы не можете. – Matthew