1

我有一个核心数据数据库,里面填满了来自 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)
4

1 回答 1

1

正如讨论中发现的那样,日期格式化程序使用的格式与 Web 服务发送的日期格式不匹配。使用

[dateFormatter setDateFormat:@"dd/MM/yyyy"]

解决了这个问题。

于 2012-10-08T18:25:34.033 回答