NSDateFormatter: как сократить форматированную дату? - PullRequest
1 голос
/ 04 октября 2011

Я использую NSDateFormatter для форматирования даты в значении ячейки таблицы SQLite.
Тип моей ячейки: datetime, а вводимые мной значения: «01.11.2011», «02.11.2012» (дд.мм.гггг)

Когда я получаю данные, я использую NSDateFormatter, например:

NSDateFormatter *dateFormatter =  [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd.MM.yyyy"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];

И мои выходные значения таковы:

2011-11-01 00:00:00 +0000

Как я могу сократить это значение только как значение даты? Как 2011-11-01?
И еще, как я могу изменить места и разделители в этом значении как 01.11.2011?

Редактировать: Моя ошибка, я не показал, как я получил значения. Как это:

NSDate *myDate = [dateFormatter dateFromString:[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 7)]];

Edit-2: я поставил точку останова и проверил значение, полученное из этой строки, это похоже на 01.11.2011, когда я вошел в базу данных.

1 Ответ

2 голосов
/ 04 октября 2011

Ваш код в значительной степени правильный. Вы не показали, как вы получаете вывод из dateFormatter, хотя. С форматом форматирования, установленным на:

[formatter setDateFormat:@"dd.mm.yyyy"];
NSString *formattedDate = [formatter stringFromDate:[NSDate date]];

Это должно присвоить formattedDate с

04.10.2011
...