更新:正如@rmaddy 所指出的,对什么visit.olcreatedat
是误解。visit.olcreatedat
第一个答案是基于NSDate的假设。对于假设visit.olcreatedat
是包含格式化日期的 NSString 的答案,请阅读此答案的第二部分。
visit.olcreatedat 是一个 NSDate
- (void)viewDidLoad {
[super viewDidLoad];
// Alloc the date formatter in a method that gets run only when the controller appears, and not during scroll operations or UI updates.
self.outputDateFormatter = [[NSDateFormatter alloc] init];
[self.outputDateFormatter setDateFormat:@"EEEE, dd MMM yyyy HH:mm:ss z"];
}
- (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath: {
// dequeue or create the cell...
// ...
// ...
OLVisit *visit = [self.visits objectAtIndex:indexPath.row];
NSString * strVisitDate = [self.outputDateFormatter stringFromDate:visit.olcreatedat];
// Here you can assign the string to the right UILabel
cell.textLabel.text = strVisitDate;
return cell;
}
visit.olcreatedat 是一个 NSString
是否要将其转换visit.olcreatedat
为格式EEEE, dd MMM yyyy HH:mm:ss z?如果是这样,让我们完成每个步骤。
首先,您需要将 visit.olcreatedat
字符串(存储在 中strVisitDate
)转换为实际的 NSDate 对象,visitDate
. 因此,要使这一步起作用,您需要一个接受以下visit.olcreatedat
格式的 NSDateFormatter:yyyy-MM-dd HH:mm:ss z。
然后,您要将获得的visitDate
NSDate 转换为您喜欢的格式,因此您需要另一个 NSDateFormatter,格式为EEEE, dd MMM yyyy HH:mm:ss z。
- (void)viewDidLoad {
[super viewDidLoad];
// Alloc the date formatter in a method that gets run only when the controller appears, and not during scroll operations or UI updates.
self.inputDateFormatter = [[NSDateFormatter alloc] init];
[self.inputDateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss z"];
self.outputDateFormatter = [[NSDateFormatter alloc] init];
[self.outputDateFormatter setDateFormat:@"EEEE, dd MMM yyyy HH:mm:ss z"];
}
- (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath: {
// dequeue or create the cell...
// ...
// ...
OLVisit *visit = [self.visits objectAtIndex:indexPath.row];
NSString *strVisitDate = visit.olcreatedat;
NSDate *visitDate = [self.inputDateFormatter dateFromString:strVisitDate];
strVisitDate = [self.outputDateFormatter stringFromDate:visitDate];
// Here you can assign the string to the right UILabel
cell.textLabel.text = strVisitDate;
return cell;
}