/ / Дуже дивне перетворення дати - об'єктив-с, какао

Дуже дивна конвертація дат - об'єктивно-c, какао

У своєму додатку я бачу справді дивну конвертацію дат. Це код:

theDateString = [theDateFormatter stringFromDate:date];

Якщо date є 2007-12-31 00:00:00 +0100 theDateString є 2008

але якщо дата є 2004-12-31 00:00:00 +0100 theDateString є 2004.

Метод є - (NSString *)stringFromDate:(NSDate *)date в NSDateFormatter і це додаток mac.

Формат NSDateFormatter: [theDateFormatter setDateFormat:@"Y"];

Чому? Дякую

Відповіді:

2 для відповіді № 1

Ви повинні використовувати @"y" замість @"Y", оскільки велика «Y» вказує рік відповідно до «тижня року». 52-й тиждень 2007 року закінчується у 2008 році, тому він повертає 2008 рік замість 2007 року.

Оновлення:
Побачити: http://waracle.net/mobile/iphone-nsdateformatter-date-formatting-table/