【问题标题】:dateFrom String returns nil, string for date time is "Mon, 20 Apr 2015 06:00:26 +0000"dateFrom String 返回 nil,日期时间的字符串为“Mon, 20 Apr 2015 06:00:26 +0000”
【发布时间】:2015-04-20 10:59:26
【问题描述】:
- (void)viewDidLoad {
    [super viewDidLoad];

    self.dateTimeFormate = [[NSDateFormatter alloc] init];
    self.dateTimeFormate.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en-US"];
    [self.dateTimeFormate setDateFormat:@"mm-dd-YYYY hh:mm"];

}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
    cell.textLabel.text = [[self.arrFeeds objectAtIndex:indexPath.row] objectForKey:@"title"];

    NSString *strPubDate = [[self.arrFeeds objectAtIndex:indexPath.row] objectForKey:@"pubDate"];
    NSString *strPubDateTrim = [strPubDate stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
    NSString *strCreator = [[self.arrFeeds objectAtIndex:indexPath.row] objectForKey:@"dc:creator"];
    NSString *strCreatorTrim = [strCreator stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

    NSDate *dateTime = [self.dateTimeFormate dateFromString:strPubDateTrim];
    NSString *strPubDateTime = [self.dateTimeFormate stringFromDate:dateTime];

    cell.detailTextLabel.text = [NSString stringWithFormat:@"%@ - %@",strPubDateTime,strCreatorTrim];

    return cell;
}
}

【问题讨论】:

  • 字符串strPubDateTrim的值是多少?
  • 您的输入字符串不是 NSDateFormatterShortStyle 类型
  • suhit ,如上所述。 “4 月 20 日星期一……”

标签: ios objective-c nsdateformatter


【解决方案1】:

输入 Mon, 20 Apr 2015 06:00:26 +0000

NSString *str =@"Mon, 20 Apr 2015 06:00:26 +0000";
NSDateFormatter *sdateFormatter = [[NSDateFormatter alloc] init];
sdateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[sdateFormatter setDateFormat:@"E, dd MMM yyyy hh:mm:ss Z'"];

NSDate *sdate = [sdateFormatter dateFromString:str];
NSLog(@"%@",[sdateFormatter stringFromDate:sdate]);

输出: Mon, 20 Apr 2015 11:30:26 +0530
然后
输入 Mon, 20 Apr 2015 11:30:26 +0530=>sdate

NSDateFormatter *dateformate=[[NSDateFormatter alloc]init];
[dateformate setDateFormat:@"MM-dd-yyyy hh:mm a"];
NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[dateformate setTimeZone:gmt];//add this
NSString *stringDate = [dateformate stringFromDate:sdate];
NSLog(@"%@",stringDate);

输出 04-20-2015 11:30 AM

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-03
  • 1970-01-01
  • 1970-01-01
  • 2015-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多