두 개의 다른 날짜 선택 도구를 사용하여 두 날짜의 차이를 찾기위한 코드를 만들었습니다. 두 날짜의 차이점을 찾을 수 없었습니다. 두 날짜의 차이는 항상 0입니다.두 날짜 선택 도구를 사용하여 두 날짜의 차이를 찾는 방법
@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