dateFromString制作错误的日期

时间:2012-10-27 15:54:27

标签: iphone ios xcode ipad

我绝对不是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 ...

1 个答案:

答案 0 :(得分: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/

的绝佳参考