Ios 找出两个日期之间的差异总是打印10
以下是获取当前日期的代码Ios 找出两个日期之间的差异总是打印10,ios,objective-c,Ios,Objective C,以下是获取当前日期的代码 -(NSString *) getCurrentDate { NSDateFormatter *dateformater = [[NSDateFormatter alloc]init]; [dateformater setDateFormat:@"dd-MMM-yyyy"]; NSString *today=[dateformater stringFromDate:[NSDate date]]; return today; } 我使用以
-(NSString *) getCurrentDate {
NSDateFormatter *dateformater = [[NSDateFormatter alloc]init];
[dateformater setDateFormat:@"dd-MMM-yyyy"];
NSString *today=[dateformater stringFromDate:[NSDate date]];
return today;
}
我使用以下代码查找当前日期和从pickerview中选择的日期之间的差异
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"dd-MMM-yyyy"];
NSString *date = [dateFormat stringFromDate:picker.date];
NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:GregorianCalendar];
NSCalendarUnit unitFlags = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay;
NSDateFormatter *f = [[NSDateFormatter alloc] init];
[f setDateFormat:@"dd-MMM-yyyy"];
NSDate *selectedDate = [f dateFromString:date];
NSDate *currentDate = [f dateFromString:[self getCurrentDate]];
NSDateComponents *currentDateComponent = [gregorianCalendar components:unitFlags fromDate:currentDate toDate:selectedDate options:0];
但是currentDateComponent.day始终打印值10
我的代码怎么了?我怎样才能找出两个日期之间的差异呢?我认为您使用的组件是错误的,应该是错误的,但只有NSCalendarUnitDay 我的代码正在返回正确的difference.day
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *difference = [calendar components:NSCalendarUnitDay
fromDate:[NSDate date] toDate:enDate options:0];
请参阅,我已经尝试过了,因为这些代码可以简化为NSDateComponents*currentDateComponent=[[NSCalendar currentCalendar]components:NSCalendarUnitDay fromDate:[NSDate date]toDate:picker.date选项:0];