2013-02-01 67 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值。

乾杯!