以前写代码,使用到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