0

私はNSDateFormatterやNSDateにまったく慣れていませんが、これは完全に私を困惑させました。いったいどうして私は火の日付を間違えているのですか?

NSDateFormatter *firedateFormat = [[NSDateFormatter alloc] init];
    [firedateFormat setDateFormat:@"hh:mm a EEE dd MMM, YYYY"];
    [firedateFormat setFormatterBehavior:NSDateFormatterBehaviorDefault];

    NSDate *fireDate1 = [firedateFormat dateFromString:@"5:30 AM Sat 27 Oct, 2012"];

    NSLog(@"fireDate1: %@ ...", fireDate1);

OUTPUT:
fireDate1: 2011-12-31 10:30:00 +0000 ...
4

1 に答える 1

2

小さいエラーでした。YYYY を yyyy に変更してください

NSDateFormatter *firedateFormat = [[NSDateFormatter alloc] init];
[firedateFormat setDateFormat:@"hh:mm a EEE dd MMM, yyyy"];
[firedateFormat setFormatterBehavior:NSDateFormatterBehaviorDefault];

NSDate *fireDate1 = [firedateFormat dateFromString:@"5:30 AM Sat 27 Oct, 2012"];

NSLog(@"fireDate1: %@ ...", fireDate1);

出力: fireDate1: 2012-10-27 10:30:00 +0000 ...(GMT の日付)

すべての日付フォーマッターの優れたリファレンスhttp://www.alexcurylo.com/blog/2009/01/29/nsdateformatter-formatting/

于 2012-10-27T16:01:17.123 に答える