解析和格式化不同的rss发布日期

问题描述

| 我正在创建通用供稿阅读器,我需要设置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,如何解决此问题?如何创建通用的dateformatter?     

解决方法

pubDate
是日期格式,因此您在代码中执行相同的格式以反映pubDate格式的格式。
EEE,dd MMMM yyyy HH:mm:ss +00:00
等于puDate:
Wed,25 May 2011 18:54:26 +00:00
您只需要补偿pubDate中存储的日期格式即可。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...