2
J'ai un formateur de date de style 10.4 appliqué à un NSTextFieldCell. J'appelle setTwoDigitStartDate: (essayé à la fois la date de l'époque et la « date de référence »), mais quand je tape une date à deux chiffres de l'année, il définit l'année 0009 au lieu de 2009.Deux années de chiffres avec NSDateFormatter ne fonctionne pas
tête:
IBOutlet NSTextFieldCell *transactionDateField; // outlet *IS* set correctly in IB
Mise en œuvre:
- (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];
}
Suis-je manque quelque chose évidente?
Il se avère que setTwoDigitStartDate: fonctionne uniquement avec les formats de date avec deux chiffres de l'année (NSDateFormatterShortStyle étant un tel format). Je pensais que vous seriez en mesure de contrôler l'entrée de longues dates abrégées avec cette méthode de commodité, mais hélas vous ne pouvez pas. – Matthew