我有一个日期字符串如下:“星期五,2011年6月17日19:20:51 PDT”我需要解析为NSDate
格式。
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"EEE, d MM YYYY HH:mm:ss zzz"];
NSDate *date = [dateFormatter dateFromString:currentPubDate ];
[dateFormatter release];
代码似乎不起作用,我不知道为什么。我已经调查了这个问题但是通过论坛搜索等似乎无法找到答案。我相信这是dateFormatter
的一个问题。谢谢你的帮助
答案 0 :(得分:4)
尝试用MMM替换MM - 我没有XCode方便验证,但通常“M”或“MM”将指数字月份。在你的情况下你有“君”,你应该尝试MMM。
答案 1 :(得分:4)
您错误地指定了setDateFormat
字符串。这是您应该如何指定它:
[dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss zzz"];
YYYY
仅用于某些工业和商业应用的“周日期”格式。它看起来像这样:YYYY-Www-D
2011-W1-3将等于2011年第一周的第三天。
Apple文档指出,使用YYYY
代替yyyy
是常见错误:Fixed Formats
答案 2 :(得分:0)
您还可以执行以下操作:
NSDateFormatter
具有以下属性:dateStyle
& timeStyle
您可以将这些设置为NSDateFormatterNoStyle
,NSDateFormatterShortStyle
,NSDateFormatterMediumStyle
,NSDateFormatterLongStyle
,NSDateFormatterFullStyle
设置完成后,您可以使用stringFromDate:
来获取格式正确的字符串。
查看每个样式的文档页面对时间和日期的影响。
干杯!