0

In my ViewController having 2 TextFields start date and end date. I am using UIDatePicker accessing the Textfield value every thing is fine. But I want Check Start date always less or equal End dates. Please any one help me.. I'm sincerely appreciate with you.

@interface: UIViewController
{
}
UIDatePicker *itsDatePicker1;
UIDatePicker *itsDatePicker2;
NSDateFormatter *dateFormatter1;
NSDateFormatter *dateFormatter2;
@property(nonatomic,weak) IBOutlet UITextField *checkInDateTxtFld;
@property(nonatomic,weak) IBOutlet UITextField *checkOutDateTxtFld;
- (void)viewDidLoad 
{
    [super viewDidLoad];

}

- (void)textFieldDidBeginEditing:(UITextField *)textField
{
    if (self.activeTextFld)
    {
        [self.activeTextFld resignFirstResponder];
    }
    self.activeTextFld=textField;

    if (textField.tag==12)
    {

        UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
        toolbar.barStyle   = UIBarStyleBlackTranslucent;

        UIBarButtonItem *itemDone  = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self.checkInDateTxtFld action:@selector(resignFirstResponder)];
        UIBarButtonItem *itemSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];

        toolbar.items = @[itemSpace,itemDone];

        itsDatePicker1= [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 0, 320, 216)];
        itsDatePicker1.minimumDate   = [NSDate date];
        itsDatePicker1.date          = [NSDate date];
        [itsDatePicker1 addTarget:self action:@selector(incidentDateValueChanged1:) forControlEvents:UIControlEventValueChanged];
        self.checkInDateTxtFld.inputAccessoryView = toolbar;
        self.checkInDateTxtFld.inputView          = itsDatePicker1;
    }
    else if (textField.tag==13)
    {
        UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
        toolbar.barStyle   = UIBarStyleBlackTranslucent;

        UIBarButtonItem *itemDone  = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self.checkOutDateTxtFld action:@selector(resignFirstResponder)];
        UIBarButtonItem *itemSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];

        toolbar.items = @[itemSpace,itemDone];

        itsDatePicker2= [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 0, 320, 216)];
        itsDatePicker2.minimumDate   = [NSDate date];
        itsDatePicker2.date          = [NSDate date];
        [itsDatePicker2 addTarget:self action:@selector(incidentDateValueChanged2:) forControlEvents:UIControlEventValueChanged];
        self.checkOutDateTxtFld.inputAccessoryView = toolbar;
        self.checkOutDateTxtFld.inputView = itsDatePicker2;
    }
    else if (textField.tag==14)
    {
        [textField resignFirstResponder];
        self.selctedPickerType=CHECK_NO_OF_ROOMS;
        [self showPicker];
    }
}

- (IBAction) incidentDateValueChanged1:(id)sender
{
    dateFormatter1 = [[NSDateFormatter alloc] init];
   // [dateFormatter1 setDateFormat:@"MMM d, yyyy"];
    [dateFormatter1 setDateFormat:@"MM-dd-yyyy"];

    self.checkInDateTxtFld.text = [dateFormatter1 stringFromDate:[itsDatePicker1 date]];
}

- (IBAction) incidentDateValueChanged2:(id)sender
{
    dateFormatter2 = [[NSDateFormatter alloc] init];
    //  [dateFormatter2 setDateFormat:@"MMM d, yyyy"];
    [dateFormatter2 setDateFormat:@"MM-dd-yyyy"];
    self.checkOutDateTxtFld.text = [dateFormatter2 stringFromDate:[itsDatePicker2 date]];
}
Mohamed Jaleel Nazir
  • 5,776
  • 3
  • 34
  • 48

2 Answers2

0

Its pretty simple just check it with date

date1 and date2 both are the object of NSDate. one have value of Todays date and another is your's given date. and simple compare it by

        if ([date1 compare:date2] == NSOrderedSame) {
            return YES;
        } else {
            return NO;
        }
Sarat Patel
  • 856
  • 13
  • 32
0
if ([date1 compare:date2] == NSOrderedDescending) {
    NSLog(@"date1 is Newer than date2");
} else if ([date1 compare:date2] == NSOrderedAscending) {
    NSLog(@"date1 is earlier than date2");
} else {
    NSLog(@"dates are the Equal");
}
Saad
  • 8,857
  • 2
  • 41
  • 51