- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
id <NSFetchedResultsSectionInfo> theSection = [[self.fetchedResultsController sections] objectAtIndex:section];
//return [[[theSection name]componentsSeparatedByString:@"+"]objectAtIndex:0];
return [NSDateFormatter localizedStringFromDate:[NSDate dateWithTimeIntervalSince1970:[theSection name]] dateStyle:NSDateFormatterMediumStyle timeStyle:NSDateFormatterNoStyle];
}
我想使用NSDateFormatter
显示从核心数据中提取的日期时间并根据需要显示。
更新1
NSDateFormatter *f = [[NSDateFormatter alloc]init];
[f setDateFormat:@"dd:mm:yy hh:mm"];
NSDate *d = [f dateFromString:[theSection name]];
return [f stringFromDate:d];
这也行不通:(
更新2
NSLog(@"TEST=>%@",[theSection name]);
显示2013-05-09 11:58:28 +0000
但在数据库中存储如下
389773826.504289
答案 0 :(得分:3)
这应该有效:
NSDateFormatter *f = [[NSDateFormatter alloc]init];
[f setDateFormat:@"MM:dd:yy hh:mm"];
// The current section:
id <NSFetchedResultsSectionInfo> sectionInfo = [[self.controller sections] objectAtIndex:section];
// One arbitrary object in this section:
NSManagedObject *obj = [[sectionInfo objects] objectAtIndex:0];
// The date value of this object (and all objects of this section):
NSDate *date = [obj valueForKey:@"date"]; // <-- use your "sectionNameKeyPath" here
return [f stringFromDate:date];
原因:您使用日期属性来分区表视图。 [sectionInfo name]
将日期转换为字符串,这使得转换很困难
日期为不同的格式。这种方法直接访问日期值,
并将其转换为所需的格式。
答案 1 :(得分:0)
不关心格式,日期存储在DB中。这是私人的。
假设[section name]返回一个字符串,你需要一个日期格式化程序,它理解那个格式。 (看起来像UTC。)然后你需要一个日期格式化程序,它被设置为输出格式。将字符串放在第一个格式化程序中,取出日期,然后将日期放在第二个格式化程序中。