2012-05-04 2 views
5

Я пытаюсь отобразить дату с помощью dateformatter, но это изменение года даты.Dateformatter изменить год моей даты

Это метод:

setLabelWithDate:(NSdate *)date{ 
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
    NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"]; 
    [dateFormatter setTimeZone:gmt];  
    [dateFormatter setDateFormat:@"dd MMMM YYYY"]; 

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

    self.selectedDateLabel.text = [dateFormatter stringFromDate:date]; 
    [dateFormatter release]; 
} 

И это то, что отображается в консоли:

2012-05-04 13:08:50.442 MyAppli[3339:fb03] Date : 2012-12-30 00:00:00 +0000 
2012-05-04 13:08:50.443 MyAppli[3339:fb03] stringFromDate 30 December 2013 

Здесь я м. DateFormatter добавляет myDate один год, и я действительно не знаю, почему. Этот случай случается только для двух последних дат года (30 и 31 декабря).

Благодарим за помощь.

Александр

ответ

8

Использование

[dateFormatter setDateFormat:@"dd MMMM yyyy"]; // lowercase y 

и вы, вероятно, следует проверить this и this.

Смежные вопросы