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 № 1Powinieneś 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/