2011-11-04 126 views
0

我想解析給定字符串的日期。字符串的格式總是像這樣:「YYMMDD」例如110831這將是2011年,月月和因此對於測試目的31.一天,我寫了這一小段代碼:IOS:從字符串解析日期

NSString* strDate = [NSString stringWithFormat:@"110803"]; 
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"YYMMDD"]; 
NSDate* date = [dateFormatter dateFromString:strDate]; 
NSLog(@"date = %@", date); 

的問題:NSLog的的輸出總是2011-01-02 23:00 :對於「110829」,00 +0000或2011-01-29 23:00:00 +0000,對於「110630」輸出相同的輸出。所以我知道第一天開始時是零,但這個月沒有被正確識別。所以我在問自己我在這裏做錯了什麼?

回答

1
+0

也可能搭上你出什麼是時區和語言環境。如果輸出日期:@「110804」,並且你在英國(就像我一樣) - 這是英國夏令時(格林威治標準時間+1),但它正在履行我目前GMT的時區 - 所以輸出實際上是23:00時的11 08 03 NSDate ...... !!可能會令人困惑。我建議觀看WWDC 2011視頻「執行日曆計算」 – bandejapaisa