NSDateFormatter dateFromString返回错误的月份的date
我有以下代码:
for (i=0; i<json.count; i++) { NSDictionary *bodyDictionary = [json objectAtIndex:i]; NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; [formatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]]; [formatter setLocale:[NSLocale currentLocale]]; [formatter setDateFormat:@"yyyy-mm-dd HH:mm:ss"]; NSDate *date = [formatter dateFromString:[bodyDictionary objectForKey:@"date"]]; NSNumber* thisVolume = [NSNumber numberWithInteger:[[bodyDictionary objectForKey:@"volume"] integerValue]]; NSTimeInterval timeNumber = [date timeIntervalSince1970]; CGPoint point = CGPointMake(timeNumber, thisVolume.doubleValue); NSValue *pointValue = [NSValue valueWithCGPoint:point]; [dataArray addObject:pointValue]; }
在哪里我通过字典对象的数组循环 – 其中之一是一个date。 我已经检查了传入datestring的格式 – 这是:
2020-07-15 07:01:00
然而 – 一旦它已经通过dateformatter – NSDate出来了:
2020-01-15 07:01:00
你的问题是,你使用m
为两个月和几分钟。
代替
[formatter setDateFormat:@"yyyy-mm-dd HH:mm:ss"];
你必须使用:
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
点击这里查看您可以使用的符号的完整列表。