我有一个核心数据库,里面装满了来自json webservice的数据。 但我对日期有疑问。这个日期就像一个字符串。所以我想做的第一件事就是将这个字符串转换为NSDate。第二件事是以正确的格式转换此NSDate,以便我可以在日期添加排序描述符。
这就是我目前在核心数据库中存储日期的方式。
NSDateFormatter* df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"MM/dd/yyyy"];
NSDate* d = [df dateFromString:[genkInfo objectForKey:CALENDAR_DATE]];
kalender.date = d;
以及我如何获取数据。
- (void)getKalender // attaches an NSFetchRequest to this UITableViewController
{
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Kalender"];
request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"date" ascending:YES]];
self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request
managedObjectContext:self.genkDatabase.managedObjectContext
sectionNameKeyPath:nil
cacheName:nil];
}
知道怎么做吗?
亲切的问候并提前感谢
修改
当我执行以下日志时。我得到每个记录正确的日期和空值
NSLog(@"date = %@",kalender.date);
2012-10-08 19:17:12.125 RacingGenk[596:c07] date = 2013-09-02 22:00:00 +0000
2012-10-08 19:17:12.125 RacingGenk[596:c07] date = (null)
答案 0 :(得分:1)
正如讨论中所述,日期格式化程序使用的格式与Web服务发送的日期格式不匹配。使用
[dateFormatter setDateFormat:@"dd/MM/yyyy"]
修复了问题。