2013-10-28 160 views
-1

我的日期轉換有問題,我沒有成功找到解決方案。這會讓我發瘋。 因此,我從REST Web服務中檢索日期,在字符串類型下,當我嘗試將日期轉換爲NSDate時,我失去了一年。從NSString問題轉換NSDate

下面是代碼:

- (NSDate *)convertISOToDate:(NSString *) dateString { 
    NSDateFormatter * formatter = [[NSDateFormatter alloc] init]; 
    [formatter setCalendar:[NSCalendar currentCalendar]]; 
    [formatter setDateFormat:@"YYYY-MM-dd'T'HH:mm:ssZZZ"]; 
    [formatter setLocale:[NSLocale currentLocale]]; 
    NSDate *date = [formatter dateFromString:dateString]; 
    return date; 
} 

當我調試,我有這個輸入:dateString __NSCFString * @」 2017年 -12-30T11:51:46 + 0100"

而且日期對象:日期__NSDate * -12-30 11:51:46 CET 0x1dd3e950

任何人都會對此問題有所瞭解?

回答

4

使用"yyyy"而不是"YYYY""YYYY"是基於每週的年份。

[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZ"]; 
+0

權!非常感謝你,現在它完美的作品:) – SlumTheSlug

+0

不客氣,我遇到了同樣的問題,在過去:) –

+0

然後接受這個答案.... –

2

試試這個:

[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZZ];