я столкнулся вопрос с надлежащим поиском даты с использованием датой formatter.I сохранила дату в следующем формате:NSDate преобразования форматировщика не давая правильную дату
[DateFormat setDateFormat: @ "YYYY-MM-DD HH: мм : сс "];
Теперь мне нужно отобразить сохраненную дату в контроллере вида. Для удобства читаемости и простоты я получил сохраненную дату из базы данных и был изменен на короткий формат, например, 17 января 18 февраля и т. Д. код реализации для этого:
remind.Date = [[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(statment, 3)];
NSDateFormatter *dateFormat = [[[NSDateFormatter alloc]init]autorelease];
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *date = [dateFormat dateFromString:remind.Date];
[dateFormat setDateFormat:@"MMMM dd"];
NSString *dateVal = [dateFormat stringFromDate:date];
remind.Date = dateVal;
Теперь значение даты будет отображаться, как показано в следующей ФОТОГРАФИИ:
Все эти даты сохраняются в массив, называемом grpArray
Теперь я хочу, чтобы получить полную дату отформатированной даты, когда я выбираю строку и перейти к контроллеру, где эта дата сохраняется, для что в сделала выберите строку с индексом путем я реализован следующий код:
-(void)tableView:(UITableView *)atableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
ReminderClass *rem = [self.grpArray objectAtIndex:indexPath.section];
// Instantiate your detail/editor view controller,
// and pass in the ReminderClass object to be edited.
ERAddReminderViewController *rdvc = [[[ERAddReminderViewController alloc]initWithReminder:rem]autorelease];
NSDateFormatter *dateFormat = [[[NSDateFormatter alloc]init]autorelease];
[dateFormat setDateFormat:@"MMMM dd"];
[dateFormat setLenient:YES];
NSDate *date = [dateFormat dateFromString:rem.Date];
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *dateVal = [dateFormat stringFromDate:date];
rem.Date = dateVal;
[self.navigationController pushViewController:rdvc animated:YES];
rdvc.navigationItem.rightBarButtonItem.title = @"Edit";
}
Теперь по логике я должен получить полный specified.Its формата дата т.е. работает нормально, но есть проблемы с правильным годом и временем, которое было первоначально saved.Please увидеть следующий моментальный снимок для уточнения:
Теперь дата, как мы можем видеть это 1970-01-17 00:00:00
Но фактическая дата, которую я спас было 2012-01-17 19:40:40
Что пошло не так реализация
Может ли один пожалуйста, руководство меня правильно
Спасибо всем заранее :)
Чрезвычайно благодарен за ответ, но я хочу показать формат в виде Месячного дня в ячейках таблицы, когда пользователь выбирает строку, он/она должен иметь возможность просматривать полную дату, чтобы изменения могли сделайте с существующей датой. Если я не получаю полную дату, она становится отображаемой как ничто, когда я вернусь к предыдущей, так что, пожалуйста, помогите мне в этих строках, спасибо :) –
Пожалуйста, смотрите снимок, 1-й, где пользователь может просматривать даты, а после выбора он переходит к данным, в которых присутствует эта дата. Я поместил кнопку (элемент правой кнопки панели навигации) для внесения изменений, и когда модификация завершена, он нажимает кнопку «Сделано». Затем измененная дата переписывается существующим, вид на него показан на 2-м снимке экрана –
Можете ли вы показать мне код, в который вы добавляете дату в массив 'grpArray'? – basvk