2013-02-01 65 views
4

可能重复:
Converting NSString to NSDate (and back again)转换的NSString的NSDate

我做出了Flickr API的请求,并返回我的格式如下

"2013-02-01T06:25:47Z" 

日期我如何将其转换成NSDate格式?

+4

[将NSString转换为NSDate(并返回)](http://stackoverflow.com/questions/3917250/converting-nsstring-to-nsdate-and-back-again),http:// stackoverflow .com/questions/1353081/nsstring-to-nsdate,http://stackoverflow.com/questions/2618807/iphone-sdk-nsstring-to-nsdate,http://stackoverflow.com/questions/2251777/how-do -i-convert-from-nsstring-to-nsdate – CodaFi

+0

@vivian:我不会downvote你(因为你已经得到很多!),但想告诉你,作为你的金牌徽章(!)..在这里发布任何问题,先做一些研究,然后发布问题,如果需要的话......!谢谢 – Nayan

+1

Dude - 我不是在这里投票 - 如果我得到一个解决方案 - 我的工作完成 - 所以谢谢你的关注。有很多免费的人会回答问题只是为了分 - 为什么不使用这个资源...我喜欢stackoverflow :) – vivianaranha

回答

22

这是一个简单的,将NSString转换为NSDate,我们使用NSDateformatter使用dateFromString方法。我们需要提供与现有风格Dateformatter风格的NSString

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"]; 
NSDate *date = [dateFormatter dateFromString:@"2013-02-01T06:25:47Z"]; 
NSTimeZone *pdt = [NSTimeZone timeZoneWithAbbreviation:@"PDT"]; 
[dateFormatter setTimeZone:pdt]; 
[dateFormatter setDateFormat:@"HH:mm:ss zzz"]; 
[dateFormatter setDateFormat:@"K:mm a, z"]; 
NSString * updated String = [dateFormatter stringFromDate:date]; 
+0

不是答案。解释上面的代码。 – CodaFi

+2

得到它完美的作品:)谢谢 – vivianaranha

+1

其简单的一个,将NSString转换为NSDate我们使用NSDateformatter使用dateFromString方法。我们需要为NSString提供现有样式的Dateformatter样式。 – Madhu

3

您可以使用以下功能:

-(NSDate *)getDateFromString:(NSString *)pstrDate 
{ 
    NSDateFormatter *df1 = [[[NSDateFormatter alloc] init] autorelease]; 
    [df1 setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"]; 
    NSDate *dtPostDate = [df1 dateFromString:pstrDate]; 
    return dtPostDate; 
} 

希望,这将是对你有所帮助。

此函数将接受您的字符串日期并返回NSDate值。

干杯!