У меня есть NSDate *da
, и когда я печатаю, я получаю следующую строку: 2013-10-24 00:00:00 +0000
.дата форматирования выдача, возвращающая Nil все время
NSDateFormatter *form = [[NSDateFormatter alloc] init];
[form setDateFormat:@"yyyy-mm-dd"];
NSDate *myD = [form dateFromString: @"2013-10-24"];
Теперь то, что я хочу сделать, это сравнить NSDate *da
и NSDate *myD
. Если это соответствует, мне нужно напечатать NSLog
.
if ([da isEqualToDate:myD]) {
NSLog(@"ok");
} else {
NSLog(@"bad");
}
Проблема заключается в том, что myD
становится null
. Как я могу это решить?
UPDATE
Еще есть проблема с форматером; Однако теперь он не возвращает NIL.
Когда я печатаю da
, я получаю вывод 2013-10-24 13:00:00 +0000
, а когда я печатаю myD
, я получаю вывод 2013-10-23 18:30:00 +0000
. Почему это не получило формат правильно. Я думаю, что по-прежнему существует некоторая ошибка в части форматирования моего кода. Помощь
UPDATE 2
NSDate *da = [NSDate date]; ///// PRINTS 2013-09-16 11:52:40 +0000
NSDateFormatter *form = [[NSDateFormatter alloc] init];
[form setDateFormat:@"yyyy-MM-dd"];
NSDate *myD = [form dateFromString: @"2013-09-16"]; ////// PRINTS 2013-09-16 00:00:00 +0000
http://stackoverflow.com/questions/11412852/compare-two-nsdates-in-iphone – n00bProgrammer
Вставьте весь код, как вы создаете обе даты. –
Возможный дубликат [NSDateFormatter dateFromString возвращает неверную дату] (http://stackoverflow.com/questions/11273001/nsdateformatter-datefromstring-returns-incorrect-date) –