我遇到问题从CD中取出日期。
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
[formatter setDateFormat:@"dd-mm-yyyy"];
NSString *dateStr;
NSLog(@"%@",datesDictionary);
for (NSDictionary *diction in datesDictionary) {
if ([diction objectForKey:@"date"] ) {
ImportantDate *newDate = (ImportantDate *)[NSEntityDescription insertNewObjectForEntityForName:@"ImportantDate" inManagedObjectContext:_managedObjectContext];
newDate.id = [NSNumber numberWithInt:[NSLocalizedString([diction objectForKey:@"id"], nil) intValue]];
dateStr = NSLocalizedString([diction objectForKey:@"date"], nil);
NSLog(@"dateStr: %@",dateStr);
newDate.date = [formatter dateFromString:dateStr];
NSLog(@"Date: %@",newDate.date);
newDate.dayOfTheWeek = NSLocalizedString([diction objectForKey:@"dayOfTheWeek"], nil);
newDate.eventType = NSLocalizedString([diction objectForKey:@"eventType"], nil);
}
}
在我的代码中,当我正在记录dateStr
时,它记录得很好。但是当我记录newDate.date
时,我得到一个空值。
我的其余值,即整数或字符串都可以恢复正常。
有什么想法吗?
答案 0 :(得分:0)
您的问题是日期格式化程序。它必须对应于字典中传递的字符串。
您的词典中似乎包含以下格式的日期。
"yyyy-MM-dd"
但是你的日期格式化程序(用于读取这些字符串)是
"dd-mm-yyyy"
这不起作用,因此您的返回日期为nil
。请分别在M
和m
之间区分数月和分钟。