我在將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。我無法理解一個問題。請問你能幫幫我嗎?
謝謝。
如果您註釋行,會發生什麼[DF setTimeZone:[NSTimeZone localTimeZone]; ? –
它解決了你的問題嗎? –
我用NSCalendar和NSDateComponents購買了特殊的魔法裝備並創建了日期。 :)這是一個壞把戲,但它的作品。 – VictorT