NSDateFormatter的两个数字年份无法正常工作

时间:2009-10-08 11:19:03

标签: cocoa nsdateformatter nstextfield nsformatter

我有一个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 个答案:

答案 0 :(得分:1)

尝试将NSDateFormatterMediumStyle更改为此NSDateFormatterShortStyle