如何从核心数据格式化NSDate并正确显示它

时间:2011-12-21 13:09:27

标签: ios core-data date nsdate nsdateformatter

我想格式化来自coreData的日期。 我用这行代码从coredata获取日期:

[[managedObject valueForKey:@"presentationDate"] description]

我知道我可以使用NSDateFormatter格式化NSDate。

这是我的代码:

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"dd.MMM.yyyy"];

NSDate *date = (NSDate *) 
[[managedObject valueForKey:@"presentationDate"] description];

NSLog(@"theDate: |%@| \n", [dateFormat stringFromDate:date]);//output is null

输出为空。我找不到正确的方法来正确地说出日期。请帮忙。

2 个答案:

答案 0 :(得分:4)

如果presentationDate是DATE,并且其类在托管对象中是DATE,那么错误就在这里

NSDate *date = (NSDate *) 
[[managedObject valueForKey:@"presentationDate"] description];

你最好写这个

NSDate *date = (NSDate*) [managedObject valueForKey:@"presentationDate"] ;

答案 1 :(得分:2)

-description方法始终返回描述对象的NSString。 因此,在从核心数据中获取对象时,不得调用它。