以前写代码,使用到NSDateFormatter,通常没有太留意setDateFormat的格式,如下:
NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
如今给在iOS6.0提了个醒,以上的格式是有误的,跟iOS6.0以前的版本整整相差了一年。例如,
NSDate *pickDate;
pickDate = [formatter dateFromString:@"2013-02-27 09:00:00"];
NSLog(@"pickDate: %@",pickDate);
输出:pickDate: 2012-02-21 09:30:00
正确的格式:
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
将格式中的“YYYY”改为“yyyy”。
输出:pickDate: 2013-02-27 09:00:00