if(indexPath.row == 0)
{
currDate = [NSDate date];
NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss a"];
NSLog(@"the current date and time is %@",currDate);
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"YYYY-MM-dd hh:mm:ss a"];
NSString *fxdDate = @"2018-05-16 07:00:00 a";
NSDate *StartDate = [ dateFormat dateFromString:[ NSString stringWithFormat:@"%@", fxdDate]];
NSString *dynDate = @"2018-05-17 08:00:00 p";
EndDate = [dateFormat dateFromString:dynDate];
NSDateComponents *components, *components2;
NSInteger hours, minutesfromStart, minuteFromEnd,secondsFromEnd;
components = [[NSCalendar currentCalendar] components: NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute fromDate: currDate toDate: StartDate options: 0];
hours = [components hour];
minutesfromStart = [ components minute];
components2 = [[NSCalendar currentCalendar] components: NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute fromDate: currDate toDate: EndDate options: 0];
minuteFromEnd = [ components2 minute];
secondsFromEnd = [ components2 second];
NSDateComponents *components1;
NSInteger hours1, minutes1, Seconds1;
components1 = [[NSCalendar currentCalendar] components: NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute|NSCalendarUnitSecond fromDate: currDate toDate: EndDate options: 0];
hours1 = [components1 hour];
minutes1 = [ components1 minute];
Seconds1 = [ components1 second];
currMinute = minutes1;
currHours = hours1;
currSeconds =Seconds1;
NSLog(@"Time left is %ld:%ld:%ld", (long)hours1, (long)minutes1,(long)Seconds1);
timer=[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(timerFired) userInfo:nil repeats:YES];
cell.dynamicTimerLabel.text =[NSString stringWithFormat:@"%02ld:%02ld:%02ld",currHours,currMinute, currSeconds];
}
if(indexPath.row == 1)
{
currDate = [NSDate date];
NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss a"];
NSLog(@"the current date and time is %@",currDate);
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"YYYY-MM-dd hh:mm:ss a"];
NSString *fxdDate = @"2018-05-16 07:00:00 a";
NSDate *StartDate = [ dateFormat dateFromString:[ NSString stringWithFormat:@"%@", fxdDate]];
NSString *dynDate = @"2018-05-17 09:00:00 p";
EndDate = [dateFormat dateFromString:dynDate];
NSDateComponents *components, *components2;
NSInteger hours, minutesfromStart, minuteFromEnd,secondsFromEnd;
components = [[NSCalendar currentCalendar] components: NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute fromDate: currDate toDate: StartDate options: 0];
hours = [components hour];
minutesfromStart = [ components minute];
components2 = [[NSCalendar currentCalendar] components: NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute fromDate: currDate toDate: EndDate options: 0];
minuteFromEnd = [ components2 minute];
secondsFromEnd = [ components2 second];
NSDateComponents *components1;
NSInteger hours1, minutes1, Seconds1;
components1 = [[NSCalendar currentCalendar] components: NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute|NSCalendarUnitSecond fromDate: currDate toDate: EndDate options: 0];
hours1 = [components1 hour];
minutes1 = [ components1 minute];
Seconds1 = [ components1 second];
currMinute = minutes1;
currHours = hours1;
currSeconds =Seconds1;
NSLog(@"Time left is %ld:%ld:%ld", (long)hours1, (long)minutes1,(long)Seconds1);
timer=[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(timerFired) userInfo:nil repeats:YES];
cell.dynamicTimerLabel.text =[NSString stringWithFormat:@"%02ld:%02ld:%02ld",currHours,currMinute, currSeconds];
}
if(indexPath.row == 2)
{
currDate = [NSDate date];
NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss a"];
NSLog(@"the current date and time is %@",currDate);
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"YYYY-MM-dd hh:mm:ss a"];
NSString *fxdDate = @"2018-05-16 07:00:00 a";
NSDate *StartDate = [ dateFormat dateFromString:[ NSString stringWithFormat:@"%@", fxdDate]];
NSString *dynDate = @"2018-05-17 11:00:00 p";
EndDate = [dateFormat dateFromString:dynDate];
NSDateComponents *components, *components2;
NSInteger hours, minutesfromStart, minuteFromEnd,secondsFromEnd;
components = [[NSCalendar currentCalendar] components: NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute fromDate: currDate toDate: StartDate options: 0];
hours = [components hour];
minutesfromStart = [ components minute];
components2 = [[NSCalendar currentCalendar] components: NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute fromDate: currDate toDate: EndDate options: 0];
minuteFromEnd = [ components2 minute];
secondsFromEnd = [ components2 second];
NSDateComponents *components1;
NSInteger hours1, minutes1, Seconds1;
components1 = [[NSCalendar currentCalendar] components: NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute|NSCalendarUnitSecond fromDate: currDate toDate: EndDate options: 0];
hours1 = [components1 hour];
minutes1 = [ components1 minute];
Seconds1 = [ components1 second];
currMinute = minutes1;
currHours = hours1;
currSeconds =Seconds1;
NSLog(@"Time left is %ld:%ld:%ld", (long)hours1, (long)minutes1,(long)Seconds1);
timer=[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(timerFired) userInfo:nil repeats:YES];
cell.dynamicTimerLabel.text =[NSString stringWithFormat:@"%02ld:%02ld:%02ld",currHours,currMinute, currSeconds];
}
if(indexPath.row == 3)
{
currDate = [NSDate date];
NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss a"];
NSLog(@"the current date and time is %@",currDate);
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"YYYY-MM-dd hh:mm:ss a"];
NSString *fxdDate = @"2018-05-16 07:00:00 a";
NSDate *StartDate = [ dateFormat dateFromString:[ NSString stringWithFormat:@"%@", fxdDate]];
NSString *dynDate = @"2018-05-18 02:00:00 a";
EndDate = [dateFormat dateFromString:dynDate];
NSDateComponents *components, *components2;
NSInteger hours, minutesfromStart, minuteFromEnd,secondsFromEnd;
components = [[NSCalendar currentCalendar] components: NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute fromDate: currDate toDate: StartDate options: 0];
hours = [components hour];
minutesfromStart = [ components minute];
components2 = [[NSCalendar currentCalendar] components: NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute fromDate: currDate toDate: EndDate options: 0];
minuteFromEnd = [ components2 minute];
secondsFromEnd = [ components2 second];
NSDateComponents *components1;
NSInteger hours1, minutes1, Seconds1;
components1 = [[NSCalendar currentCalendar] components: NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute|NSCalendarUnitSecond fromDate: currDate toDate: EndDate options: 0];
hours1 = [components1 hour];
minutes1 = [ components1 minute];
Seconds1 = [ components1 second];
currMinute = minutes1;
currHours = hours1;
currSeconds =Seconds1;
NSLog(@"Time left is %ld:%ld:%ld", (long)hours1, (long)minutes1,(long)Seconds1);
timer=[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(timerFired) userInfo:nil repeats:YES];
cell.dynamicTimerLabel.text =[NSString stringWithFormat:@"%02ld:%02ld:%02ld",currHours,currMinute, currSeconds];
}
if(indexPath.row == 4)
{
currDate = [NSDate date];
NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss a"];
NSLog(@"the current date and time is %@",currDate);
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"YYYY-MM-dd hh:mm:ss a"];
NSString *fxdDate = @"2018-05-16 07:00:00 a";
NSDate *StartDate = [ dateFormat dateFromString:[ NSString stringWithFormat:@"%@", fxdDate]];
NSString *dynDate = @"2018-05-18 4:00:00 a";
EndDate = [dateFormat dateFromString:dynDate];
NSDateComponents *components, *components2;
NSInteger hours, minutesfromStart, minuteFromEnd,secondsFromEnd;
components = [[NSCalendar currentCalendar] components: NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute fromDate: currDate toDate: StartDate options: 0];
hours = [components hour];
minutesfromStart = [ components minute];
components2 = [[NSCalendar currentCalendar] components: NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute fromDate: currDate toDate: EndDate options: 0];
minuteFromEnd = [ components2 minute];
secondsFromEnd = [ components2 second];
NSDateComponents *components1;
NSInteger hours1, minutes1, Seconds1;
components1 = [[NSCalendar currentCalendar] components: NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute|NSCalendarUnitSecond fromDate: currDate toDate: EndDate options: 0];
hours1 = [components1 hour];
minutes1 = [ components1 minute];
Seconds1 = [ components1 second];
currMinute = minutes1;
currHours = hours1;
currSeconds =Seconds1;
NSLog(@"Time left is %ld:%ld:%ld", (long)hours1, (long)minutes1,(long)Seconds1);
timer=[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(timerFired) userInfo:nil repeats:YES];
cell.dynamicTimerLabel.text =[NSString stringWithFormat:@"%02ld:%02ld:%02ld",currHours,currMinute, currSeconds];
}
-(void)timerFired
{
if(( currHours>=0 || currMinute >=0 || currSeconds>=0) && currSeconds>=0)
{
if(currSeconds==0 && currMinute>0)
{
currMinute-=1;
currSeconds=59;
}
else if(currMinute==0 && currHours>0)
{
currHours-=1;
currMinute=59;
}
else if(currSeconds>=0)
{
currSeconds-=1;
}
if(currSeconds>-1)
time=[NSString stringWithFormat:@"%02ld:%02ld:%02ld",currHours,currMinute, currSeconds];
[tableview reloadData];
}
else
{
[timer invalidate];
}
}
У меня это сработало