为什么不是最后更新日期,输入正确,请参阅跟踪...
代码
// Date
self.dateLabel.text = [NSDateFormatter localizedStringFromDate:item.pubDate dateStyle:NSDateFormatterShortStyle timeStyle:NSDateFormatterNoStyle];
[self.dateLabel sizeToFit];
NSLog(@"pubDate is %@ formated date is %@", item.pubDate,[NSDateFormatter localizedStringFromDate:item.pubDate dateStyle:NSDateFormatterShortStyle timeStyle:NSDateFormatterNoStyle]);
输出
pubDate is 2015-03-30 01:00:00 +0000 formated date is 30/03/2015
pubDate is 2015-03-30 01:00:00 +0000 formated date is 30/03/2015
pubDate is 2015-03-29 23:00:00 +0000 formated date is 30/03/2015
答案 0 :(得分:0)
谢谢@Mats是 - 即使输入字符串包含timezome偏移量且设备设置为英国格式
输入指定了时区:
stringDate是2015年3月30日2015-03-30 01:00:00 +0000。
pubDate是2015-03-30 01:00:00 +0000格式化日期是30/03/2015。
stringDate是2015年3月30日,2015-03-29 23:00:00 +0000。
pubDate是2015-03-29 23:00:00 +0000格式化日期是30/03/2015。
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MMMM d, yyyy"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
self.dateLabel.text = [dateFormatter stringFromDate:item.pubDate];
不是
self.dateLabel.text = [NSDateFormatter localizedStringFromDate:item.pubDate dateStyle:NSDateFormatterShortStyle timeStyle:NSDateFormatterNoStyle];
似乎过度杀伤但是有效