/ / Bardzo dziwna konwersja daty - cel-c, kakao

Bardzo dziwna konwersja daty - cel-c, kakao

W mojej aplikacji widzę naprawdę dziwną konwersję daty. To jest kod:

theDateString = [theDateFormatter stringFromDate:date];

Gdyby date jest 2007-12-31 00:00:00 +0100 theDateString jest 2008

ale jeśli data jest 2004-12-31 00:00:00 +0100 theDateString jest 2004.

Ta metoda jest - (NSString *)stringFromDate:(NSDate *)date w NSDateFormatter i jest to aplikacja Mac.

Format NSDateFormatter to: [theDateFormatter setDateFormat:@"Y"];

Dlaczego ? Dzięki

Odpowiedzi:

2 dla odpowiedzi № 1

Powinieneś użyć @"y" zamiast @"Y", ponieważ litera „Y” określa rok zgodnie z „tygodniem roku”. 52. tydzień 2007 kończy się w 2008 r., Dlatego zwraca rok 2008 zamiast 2007.

Aktualizacja:
Widzieć: http://waracle.net/mobile/iphone-nsdateformatter-date-formatting-table/