我做了一个代码来使用两个不同的日期选择器找到两个日期之间的差异。我无法找到两个日期之间的差异。两个日期的差别总是为零。如何通过使用两个不同的日期选择器找到两个日期之间的差异
@property (strong, nonatomic) IBOutlet UILabel *date1;
@property (strong, nonatomic) IBOutlet UILabel *date2;
- (IBAction)cale1:(id)sender;
- (IBAction)cale2:(id)sender;
@property (strong, nonatomic) IBOutlet UIDatePicker *datePicker1;
@property (strong, nonatomic) IBOutlet UIDatePicker *datePicker2;
@property NSDate *d1,*d2;
@implementation ViewController
- (IBAction)cale1:(id)sender {
NSDateFormatter *dc=[[NSDateFormatter alloc]init];
dc.dateStyle=NSDateFormatterFullStyle;
_d1=_datePicker1.date;
_date1.text=[dc stringFromDate:_datePicker1.date];
NSLog(@"Date %@",_date1);
}
- (IBAction)cale2:(id)sender {
NSDateFormatter *dc=[[NSDateFormatter alloc]init];
dc.dateStyle=NSDateFormatterFullStyle;
_d2=_datePicker2.date;
_date2.text=[dc stringFromDate:_datePicker2.date];
NSLog(@"Date %@",_d2);
[self isSameDay:_d1 otherDay:_d2];
}
-(BOOL)isSameDay:(NSDate *)date1 otherDay:(NSDate *)date2{
NSCalendar *cale=[NSCalendar currentCalendar];
unsigned unitFlags=NSYearCalendarUnit| NSMonthCalendarUnit| NSDayCalendarUnit;
NSDateComponents *comp1=[cale components:unitFlags fromDate:date1];
NSDateComponents *comp2=[cale components:unitFlags fromDate:date2];
// NSString *comp=[NSString stringWithFormat:@"%d", [comp1 day]==[comp2 day]&&[comp1 month]==[comp2 month]&&[comp1 year]==[comp2 year]];
BOOL a=[comp1 day]==[comp2 day]&&[comp1 month]==[comp2 month]&&[comp1 year]==[comp2 year];
NSLog(@"Date Differ%hhd",a);
return a;
}
阅读此项。 [NSCalendar类参考](https://developer.apple.com/library/ios/documentation/cocoa/reference/foundation/Classes/NSCalendar_Class/Reference/NSCalendar.html)。向下滚动到'components:fromDate:toDate:options:' – Desdenova