0
我使用NSDateFormatter將字符串轉換爲日期。但是,返回的日期是零。 這只是我的硬編碼字符串導致問題。當我使用stringFromDate:並將此NSString轉換爲NSDate時,它很好。NSDateFormatter不將字符串轉換爲日期
硬編碼日期:
2012-30-22T10:30:19 + 0530
dateFromString:
2012-04-27T10:20:43 + 0530
我可以看到在沒有差別日期格式。
代碼:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZ"];
NSString *string = [dateFormatter stringFromDate:[NSDate date]];
NSLog(@"string %@", string);
日誌:〜串2012-04-27T10:20:43 + 0530
NSDate *date = [dateFormatter dateFromString:string];
NSLog(@"date %@", date);
日誌:〜日期2012-04-27 4時50分:43 +0000
到目前爲止這麼好。日期從我的字符串中返回。但是當我嘗試使用我已經進入了自己的日期...
NSString *string2 = @"2012-30-22T10:30:19+0530";
NSLog(@"string2 %@", string2);
日誌:〜日期2012-04-27 4點50分四十三秒+0000
//Here comes the problem.
NSDate *date2 = [dateFormatter dateFromString:string2];
NSLog(@"date 2 %@", date2);
日誌:〜date 2(null)
爲什麼這個日期爲空時,其他日期不是?
是本月30日在你自己輸入的字符串中發現了一個錯字嗎?它可能會因爲它不知道30個月而搞砸了。 – 2012-04-27 05:09:26
我想它一定是那個。我不敢相信我沒有發現我自己。其實我沒有手動輸入這個字符串。它來自服務器。我猜服務器搞砸了。發佈它作爲答案,我會將其標記爲正確。 – SEG 2012-04-27 05:12:42
非常感謝! :-) – SEG 2012-04-27 05:13:55