2

NSTextFieldCell に 10.4 スタイルの日付フォーマッタを適用しています。setTwoDigitStartDate: (エポック日付と「参照」日付の両方で試しました) を呼び出しますが、2 桁の年で日付を入力すると、年が 2009 ではなく 0009 に設定されます。

ヘッダ:

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];
}

明らかな何かが欠けていますか?

4

1 に答える 1

1

NSDateFormatterMediumStyleこれに変更してみてくださいNSDateFormatterShortStyle

于 2009-10-08T11:33:34.683 に答える