2011-11-15 51 views
0

我在將NSString的日期值轉換爲NSDate實例時遇到了一個奇怪的問題。它看起來像偉大的哈利波特訪問我的代碼。NSDate和NSDateFormatter magic

我從服務器接收日期字符串爲第24日期格式:「2011-11-15 11:44」。 我的iPhone在設置中有12日期格式。當我嘗試將該字符串轉換爲NSDate時,我可以看到該日期值等於NIL。如果我將設置切換到24日期格式,它可以正常工作。這是我的代碼:

NSString * sDate = @"2011-11-15 11:44"; 
NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
[df setDateFormat:@"yyyy-MM-dd HH:mm"]; 
[df setTimeZone:[NSTimeZone localTimeZone]]; 
NSDate * pDate = [df dateFromString:sDate]; 

因此,pDate爲零。但是,如果我在iPod Touch上運行此代碼,則可以在第12格式中看到錯誤的日期值,而不是NIL。我無法理解一個問題。請問你能幫幫我嗎?

謝謝。

+0

如果您註釋行,會發生什麼[DF setTimeZone:[NSTimeZone localTimeZone]; ? –

+0

它解決了你的問題嗎? –

+0

我用NSCalendar和NSDateComponents購買了特殊的魔法裝備並創建了日期。 :)這是一個壞把戲,但它的作品。 – VictorT

回答

相關問題