Я использую метод ниже, чтобы добавить или вычесть дни из NSDate.
Когда я регистрирую значения, я иногда получаю неожиданный результат.
Вот один из случаев:1005 *
//This adds X days to the current Date and returns to the user
+(NSDate*)getRelativeDateInDays:(NSInteger)days forDate:(NSDate*)date{
NSCalendar *gregorian = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *weekdayComponents = [[NSDateComponents alloc] init];
[weekdayComponents setDay:days];
NSDate *newDate = [gregorian dateByAddingComponents:weekdayComponents toDate:date options:0];
[gregorian release];
[weekdayComponents release];
NSLog(@"start Date : %@ End Date %@",date,newDate);
return newDate;}
ДЕЛО 1:
2012-02-17 06: 28: 14.474 Дата начала применения [2906: 707]: 2012-03-08 11:26:23 +0000 Дата окончания 2012-03-09 11:26:23 +0000 Количество дней 1
СЛУЧАЙ 2:
2012-02-17 06:29: 00.631 Приложение [2906: 707] Дата начала: 2012-03-10 11:26:23 +0000 Дата окончания 2012-03-11 10:26:23 +0000 Количество дней 1
В случае 1, когда я добавил один день в 2012-03-08 11:26:23 +0000, я получил 2012-03-09 11:26:23 + 0000.
Но когда я добавил один день в2012-03-10 11:26:23 +0000 Я получаю 2012-03-11 10:26:23 + 0000.
1 час дополнительно сокращен. В чем может быть проблемаВот?Кто-нибудь сталкивался с этой проблемой?