После почти безумного поиска, где мой код не удался ... Я смог изолировать это странное поведение. Посмотрите на то, что hapens когда вычитая -200 днейОшибка в dateByAddingTimeInterval
NSDate *now = [NSDate date]; //now is 2013-07-19
NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setDateFormat:@"YYYY-MM-dd"];
NSDate *newDate1 = [now dateByAddingTimeInterval:60*60*24*-199];
newDateTmp=[format stringFromDate:newDate1];
NSLog(@"now:%@ newDateTmp:%@",now,newDateTmp);
newDate1 = [now dateByAddingTimeInterval:60*60*24*-200];
newDateTmp=[format stringFromDate:newDate1];
NSLog(@"now:%@ newDateTmp:%@",now,newDateTmp);
newDate1 = [now dateByAddingTimeInterval:60*60*24*-201];
newDateTmp=[format stringFromDate:newDate1];
NSLog(@"now:%@ newDateTmp:%@",now,newDateTmp);
newDate1 = [now dateByAddingTimeInterval:60*60*24*-365];
newDateTmp=[format stringFromDate:newDate1];
NSLog(@"now:%@ newDateTmp:%@",now,newDateTmp);
журналы:
2013-07-19 15: 58: 46.123 Вендес [2927: 907] Сейчас: 2013-07- 19 13:58:46 +0000 newDateTmp: 2013-01-01 // Это нормально
2013-07-19 15: 58: 46.124 Вендес [2927: 907] Сейчас: 2013-07-19 13 : 58: 46 +0000 newDateTmp: 2013-12-31 // Это я NCORRECT !!!! Посмотрите на ГОД
2013-07-19 15: 58: 46.125 Вендес [2927: 907] Сейчас: 2013-07-19 13:58:46 +0000 newDateTmp: 2012-12-30 // Это ОК
2013-07-19 15: 58: 46.127 Вендес [2927: 907] сейчас: 2013-07-19 13:58:46 +0000 newDateTmp: 2012-07-19 // Это нормально
Я предполагаю, что это будет hapopen и завтра вычитая 201 .. ?? :)
Есть идеи?
Thks
PS. Я решил это, используя
NSDate *newDate1= [NSDate dateWithTimeInterval:60*60*daysToAdd sinceDate:now];
, который работает на любые дниДобавить значение.
Из документации Apple, по дате форматирования: «Распространенной ошибкой является использование YYYY YYYY определяет календарный год, тогда как YYYY определяет год (из.„Неделя года“), используемый в год-недельного календаря ISO. В большинстве случаев yyyy и YYYY дают одинаковое количество, однако они могут быть разными. Обычно вы должны использовать календарный год ». https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/DataFormatting/Articles/dfDateFormatting10_4.html#//apple_ref/doc/uid/TP40002369-SW1 –
Ничего себе! Большое спасибо, я бы никогда не догадался. – DeepButi