我从RSS Feed中提取数据。 Feed中的一个键是表示项目创建日期和时间的字符串。
我正在尝试将此字符串值转换为NSDate。字符串值从RSS源返回为:2009-11-18T22:08:00 + 00:00
我尝试了以下代码无济于事:
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyyMMdd HH:mm"];
NSDate *myDate = [df dateFromString: [[storedDates objectAtIndex:indexPath.row] objectForKey: @"UsersDate"]];
理想情况下;除了将值转换为NSDate值之外,我还想使用手机上的本地化日期格式对其进行格式化。
任何指针都会有很大的帮助。
亲切的问候
答案 0 :(得分:6)
检索dateFormat:
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
NSDate *myDate = [df dateFromString: [[storedDates objectAtIndex:indexPath.row] objectForKey: @"UsersDate"]];
如果您希望根据用户的区域设置格式化时间和日期,则可以使用预定义格式:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterShortStyle];
[dateFormatter setTimeStyle:NSDateFormatterLongStyle];
NSLog(@"%@",[dateFormatter stringFromDate:someDate]);
[dateFormatter release]; // don't forget to release the dateformatter
查看文档,了解哪种格式化程序最适合您。
答案 1 :(得分:0)
实际上RSS源中的日期格式可能不同,因此解析它的最佳方法是
[NSDate dateFromInternetDateTimeString:processedText formatHint:DateFormatHintRFC822];
这不是一个标准函数,可以在https://gist.github.com/953664
找到它的库