【发布时间】:2013-04-17 09:24:37
【问题描述】:
在我的应用程序中,我使用 NSXMLParser 解析提要。 我也有一个 pubDate,但有许多不同的字符串日期格式:
1. 2013-04-17T12:00:24
2. Wed, 17 Apr 2013 10:15 +0300
3. Wed, 17 Apr 2013 11:07:01 +0200
4. 11/04/2013 18:10:10
这是我的代码:
NSDateFormatter *inputFormatter = [[NSDateFormatter alloc]init];
assert(inputFormatter != nil);
NSLocale *loacle = [[NSLocale alloc]initWithLocaleIdentifier:@"en_US_POSIX"];
assert(loacle != nil);
[inputFormatter setLocale:loacle];
[inputFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss Z"];
[inputFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
NSString *dateString = [NSString stringWithFormat:@"%@",currentPubDate];
NSDate *inputDate = [inputFormatter dateFromString:dateString];
NSLocale *hebrow = [[NSLocale alloc]initWithLocaleIdentifier:@"he_IL"];
NSDateFormatter *outputFormatter = [[NSDateFormatter alloc]init];
outputFormatter.locale = hebrow;
[outputFormatter setDateStyle:NSDateFormatterFullStyle];
[outputFormatter setTimeStyle:NSTimeZoneNameStyleShortStandard];
NSString *outputDate = [outputFormatter stringFromDate:inputDate];
问题是:如何调整以上所有内容的日期格式? 有什么功能还是我应该手动做?
提前致谢!
【问题讨论】:
-
最好的方法是给 pubDate 一个单独的 dateFormat,如果你不能这样做的话。编写一个循环,继续尝试可能的 dateFormats 直到 dateFormatter 形成有效日期。
-
是的,我知道最好的方法是提供单个 dateFormat。但正如我所说,我从解析的 xml 中有很多 dateFormat,所以我需要找到一种方法来处理它们..
标签: ios xcode nsdate nsxmlparser nsdateformatter