首先说一下我们的功能需求是这个样子的:
默认start time为当前时间的下个半点或者整点
1、例如当前时间为14:14,则start time应为14:30, end time为15:002、例如当前时间为14:34,则start time应为15:00, end time为15:30
并且修改start time 时候 end time的时间会跟着联动,总是比start time多半个小时,但是如果我们改动了end time ,start time 不会跟着一起改变,duration 一直为两者之差,如果end time 小于start time,那么 end time 时间的day 自动为start time day +1,废话不多说,直接上代码:
int minute = [[NSDate date] minute];
if(minute > 30){
self.stimeView. date = [[NSDate date]addMinute:(60 - minute)];
}else {
self.stimeView.date = [[NSDate date]addMinute:(30 - minute)];
}
self.entityValue.startTime = self.stimeView.date;
self.etimeView.date = [ self.stimeView.date addMinute:30];
self.entityValue.endTime = self.etimeView.date;
上述代码的功能主要是实现了
默认
start time
为当前时间的下个半点或者整点与start time 与 end time 相隔30min这两个功能(模型在这里就不写了,需要自己建立)
int hour = [self.entityValue.endTime hour];
int minute = [self.entityValue.endTime minute];
int second = [self.entityValue.endTime second];
NSString *b = [self.entityValue.endTime stringWithFormat:@"HH:mm:ss"];
self.entityValue.endTime = [self.entityValue.startTime addDay:1];
NSString *myEndTime = [NSString stringWithFormat:@"%@", self.entityValue.endTime];
NSArray *timeBlock = [myEndTime componentsSeparatedByString:@" "];
NSString *newEndTime = [NSString stringWithFormat:@"%@ %@",timeBlock[0],b];
self.etimeView.date = [newEndTime dateWithFormat:@"yyyy-MM-dd HH:mm:ss"];
这个代码主要实现了当end time 比start time 时间小的时候的处理情况,当然我们还有其他处理办法,需要根据功能去进行相应的处理了。。