2012-01-11 57 views
11

我知道这个问题与其他人问的类似,但我找不到我的代码出错的地方。我试图将当前日期转换为mm/dd/yyyy格式。这是我正在使用的:将NSDate转换为mm/dd/yyyy

NSDate *date = [[NSDate alloc]init]; 

NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease]; 
[formatter setDateFormat:@"mm/dd/yyyy"]; 

NSLog(@"%@", [formatter stringFromDate:date]); 

问题是这个月。每次运行此代码时,该月都不同。例如,我第一次约会的时间是2012年11月32日,而我刚刚运行它,并且是2011年5月11日。

是否有这个原因会不断变化的原因?日子和岁月似乎很好。

谢谢。

回答

41

检查的情况:

mm表示分钟

MM意味着几个月

所以,你的代码也许应该读

NSDate *date = [[NSDate alloc]init]; 

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"MM/dd/yyyy"]; 

NSLog(@"%@", [formatter stringFromDate:date]); 
+1

+1打我。这里是[规范](http://unicode.org/reports/tr35/tr35-10.html#Date_Format_Patterns)的链接。 – 2012-01-11 19:03:25