Ios 从RSS源提取时,NSDate DATEFORMSTRING返回null
我正在解析我的应用程序中的RSS提要,并将每个项目放入表视图单元格中。我正在抓取的一个片段是Ios 从RSS源提取时,NSDate DATEFORMSTRING返回null,ios,uitableview,rss,Ios,Uitableview,Rss,我正在解析我的应用程序中的RSS提要,并将每个项目放入表视图单元格中。我正在抓取的一个片段是pubDate,它是一个如下所示的字符串: 2014年5月23日星期五格林威治标准时间10:00:00 我正在使用以下代码,但是NSDate继续返回null。但是,如果我手动输入字符串(请参见注释掉的行),而不是尝试获取pubDate,则效果很好。知道我做错了什么吗 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIn
pubDate
,它是一个如下所示的字符串:
2014年5月23日星期五格林威治标准时间10:00:00
我正在使用以下代码,但是NSDate
继续返回null。但是,如果我手动输入字符串(请参见注释掉的行),而不是尝试获取pubDate
,则效果很好。知道我做错了什么吗
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
ReadingsCell *cell = (ReadingsCell *)[tableView dequeueReusableCellWithIdentifier:@"ReadingsCell"];
cell.readingLabel.text = [[feeds objectAtIndex:indexPath.row] objectForKey: @"title"];
dateString = [[feeds objectAtIndex:indexPath.row] objectForKey: @"pubDate"];
//dateString = @"Mon, 19 May 2014 10:00:00 GMT";
NSLog(@"dateString: %@", dateString);
//the above logs out perfectly
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
[dateFormat setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss Z"];
[dateFormat setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
NSDate *postDate = [[NSDate alloc] init];
postDate = [dateFormat dateFromString:dateString];
NSLog(@"pubdate: %@", postDate);
//this logs out as null
[dateFormat setDateFormat:@"MMM"];
NSString *theMonth = [dateFormat stringFromDate:postDate];
cell.monthLabel.text = theMonth;
return cell;
}
[[feeds objectAtIndex:indexath.row]objectForKey:@“pubDate”]->返回字符串还是日期?应该检查it@nmh,它返回一个字符串。我正在尝试将该字符串转换为日期。我可以很好地检索字符串(并按预期注销)。将格式说明符中的
Z
替换为Z
。阅读有关格式说明符的文档以了解原因。@rmaddy,我也已经尝试过了。。。实际上,我是从小写的z开始的,因为我是从阅读文档开始的。我仍然为空。您是否检查过您的dateString
两端或换行处是否有空格?