解析和格式化不同的rss pubdate

时间:2011-05-26 09:51:20

标签: objective-c ipad rss nsdateformatter

我正在创建一个通用提要阅读器,我需要格式化rss pubDate,但rss pubdate总是不同的,例如:

    Wed, 25 May 2011 02:10:00 CEST
    Wed, 25 May 2011 18:54:26 +00:00
    Wed, 25 May 2011 08:13:22 +0000
    Wed, 25 May 2011 14:21:54 GMT
    26 May 2011 10:32:00 +0100

我尝试使用此代码:

NSString *dateString = @"Wed, 25 May 2011 18:54:26 +00:00"; 
NSDateFormatter *df = [[[NSDateFormatter alloc] init] autorelease];
[df setDateFormat:@"EEE, dd MMMM yyyy HH:mm:ss +00:00"];

NSLocale *enLocale = [[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]   autorelease];
[df setLocale:enLocale];

NSDate *date = [df dateFromString:dateString];  
NSLog(@"'%@' = %@", dateString, date);

NSDateFormatter* df2 = [[[NSDateFormatter alloc] init] autorelease];
[df2 setDateFormat:@"EEE, dd MMMM yyyy HH:mm:ss"];
NSString *dateString2 = [df2 stringFromDate:date];

但是,这段代码只适用于一种类型的rss pubDate,如何解决这个问题呢?如何创建通用的日期格式?

1 个答案:

答案 0 :(得分:0)

pubDate采用日期格式,因此您在代码中使用相同的格式来反映pubDate格式的格式。

EEE, dd MMMM yyyy HH:mm:ss +00:00等于 puDate: Wed, 25 May 2011 18:54:26 +00:00

您只需要补偿存储在 pubDate 中的日期格式。