2011-11-04 142 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