String formatted date picker date is off

↘锁芯ラ 提交于 2019-11-27 16:57:27

问题


I have a UIDatePicker that only has month, day, and year. I am trying to output this selected date to a TextField using this code:

-(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];
}

For most dates, this works, but for some reason, when I pick January 1, 2009, or January 2, 2009, I end up getting "1/1/2008" or "1/2/2008" (this isnt specific to 2009). I thought it was a time zone problem, but it wouldn't display the wrong year for January 2 if that were the case. Any ideas?


回答1:


Use lowercase yyyy for the year.

Uppercase YYYY returns the year of the start of the week that date falls in.
See Unicode Date Format Patterns.



来源:https://stackoverflow.com/questions/6388370/string-formatted-date-picker-date-is-off

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!