我的开始时间和结束时间格式为HH:mm:ss(24小时)。
我需要比较当前时间是否在开始和结束时间之间。
我已经对逻辑进行了编码,如果开始时间晚于结束时间,它将在开始时间内增加24小时。
if (shift.sShiftStart < shift.sShiftEnd) {
startTime = shift.sShiftStart;
startTimeInt = [[shift.sShiftStart substringToIndex:2] integerValue];
startTimeInt2 = startTimeInt + 24;
finalStartTime = [startTime stringByReplacingCharactersInRange:NSMakeRange(0, 2) withString:[NSString stringWithFormat:@"%d", startTimeInt2]];
} else {
finalStartTime = shift.sShiftStart;
}
现在我想检查我的currentTime是否在finalStartTime和endTime之间(所有都是HH:mm:ss格式)
答案 0 :(得分:3)
将字符串转换为日期(NSDate
)并使用compare:
方法。不要以为你可以在对象实例上使用<
,他们会神奇地知道你希望他们用它做什么(你实际上是在比较指针值)。
获得日期后,您可以添加时间(另请查看NSDateComponents
课程。)