2012-05-04 22 views
5

Próbuję wyświetlić datę z datownikiem, ale ta zmienia rok daty.Format daty zmienia rok mojej daty

Jest to metoda:

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

A to, co jest wyświetlane w konsoli:

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 

Tu jestem. DateFormatter dodaje myDate jednego roku i naprawdę nie wiem dlaczego. Ten przypadek ma miejsce tylko w dwóch ostatnich datach roku (30 i 31 grudnia).

Dzięki za pomoc.

Alexandre

Odpowiedz

8

Zastosowanie

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

i prawdopodobnie powinien sprawdzić this i this.