string格式的dateselect器date已closures

我有一个只有月,日,年的UIDatePicker。 我想输出这个选定的date到TextField使用此代码:

-(IBAction) dateChanged:(id)sender { NSDate *date = datePicker.date; NSDateFormatter *df = [[NSDateFormatter alloc] init]; [df setDateFormat:@"M/d/YYYY"]; expirationDateField.text = [df stringFromDate:date]; [df release]; } 

对于大多数date,这是有效的,但由于某种原因,当我select2009年1月1日,或2009年1月2日,我最终得到“1/1/2008”或“1/2/2008”(这不是特定于2009)。 我认为这是一个时区问题,但如果是这样的话,它将不会在1月2日显示错误的一年。 有任何想法吗?

一年中使用小写字母yyyy

大写字母YYYY返回date所在的星期开始的年份。
请参阅Unicodedate格式模式 。