NSDate格式

我有一个datestring如下:“星期五,2011年6月17日19时20分51秒”,我需要parsing成一个NSDate格式。

  NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; [dateFormatter setDateFormat:@"EEE, d MM YYYY HH:mm:ss zzz"]; NSDate *date = [dateFormatter dateFromString:currentPubDate ]; [dateFormatter release]; 

代码似乎没有工作,我不知道为什么。 我已经看过这个问题,但通过论坛等search,似乎无法find答案。 我确实相信这是dateFormatter的问题。 谢谢你的帮助

你错误地指定了你的setDateFormatstring。 这是你应该如何指定的:

 [dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss zzz"]; 

YYYY仅用于某些工业和商业应用中使用的“星期date”格式。 看起来像这样: YYYY-Www-D ,2011 – W1-3将相当于2011年第一周的第三天。

Apple文档指出,使用YYYY而不是yyyy是一个常见的错误: 固定格式

尝试用MMMreplaceMM – 我没有XCode方便validation,但通常“M”或“MM”将引用数字月份。 在你的情况下,因为你有“君”你应该尝试MMM。

您还可以执行以下操作:

NSDateFormatter有以下属性: dateStyletimeStyle

您可以将这些设置为NSDateFormatterNoStyleNSDateFormatterShortStyleNSDateFormatterMediumStyleNSDateFormatterLongStyleNSDateFormatterFullStyle

一旦设置了这些,你可以使用stringFromDate:获得一个很好格式的string。

查看每个样式的文档页面的时间和date。

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSDateFormatter_Class/Reference/Reference.html#//apple_ref/c/tdef/NSDateFormatterStyle

干杯!