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 ...格林威治标准时间的日期)

所有日期格式化程序的一个很好的参考http://www.alexcurylo.com/blog/2009/01/29/nsdateformatter-formatting/

于 2012-10-27T16:01:17.123 回答