我试图获取今天[NSDate date]和用户从 UIDatePicker, d中选择的日期之间的天数差异,它将作为整数返回。
这是我用来找出差异的方法:
NSDate *startDate = d;
NSDate *endDate = [NSDate date];
NSLog(@"startDate: %@",startDate);
NSLog(@"endDate: %@",endDate);
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
[gregorian setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
NSDateComponents *components = [gregorian components:NSDayCalendarUnit
fromDate:endDate
toDate:startDate
options:0];
NSInteger days = [components day];
NSLog(@"Days: %i",days);
startDate和endDate都正确返回,但我得到的问题是我得到的天差是错误的。比如我选择今天的日期,差为0,我选择明天,差还是0,我选择后天,差只有1,什么时候应该是2。
有人对我能做些什么来解决这个问题有任何想法吗?这让我发疯了,我不知道这是怎么回事。