在IOS中比较两次之间的时间(格式为HH:MM:SS)

在IOS中比较两次之间的时间(格式为HH:MM:SS),ios,time,Ios,Time,我有格式为HH:mm:ss(24小时)的开始时间和结束时间 我需要比较当前时间是否介于开始时间和结束时间之间 if (shift.sShiftStart < shift.sShiftEnd) { startTime = shift.sShiftStart; startTimeInt = [[shift.sShiftStart substringToIndex:2] integerValue]; startTimeInt2 = startTimeInt + 24;

我有格式为HH:mm:ss(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;
}
我对逻辑进行了编码,如果开始时间晚于结束时间,它将在开始时间上增加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;
}
if(shift.ssShift开始

现在我想检查我的currentTime是否在finalStartTime和endTime之间(都是HH:mm:ss格式)

将字符串转换为日期(
NSDate
),并使用
比较:
方法。不要假设您可以使用
将字符串转换为日期(
NSDate
),并使用
compare:
方法。不要假设您可以使用
将字符串转换为日期(
NSDate
),并使用
compare:
方法。不要假设您可以使用
将字符串转换为日期(
NSDate
),并使用
compare:
方法。不要假设您可以使用
,也不要忘记重用NSDateFormatter,因为它很昂贵。(setFormat就像一个新的格式化程序一样重要)@Wain,非常感谢你!我已经完成了您所说的,它工作得非常好:)而且不要忘记重用NSDateFormatter,因为它很昂贵。(setFormat就像一个新的格式化程序一样重要)@Wain,非常感谢你!我已经完成了您所说的,它工作得非常好:)而且不要忘记重用NSDateFormatter,因为它很昂贵。(setFormat就像一个新的格式化程序一样重要)@Wain,非常感谢你!我已经完成了您所说的,它工作得非常好:)而且不要忘记重用NSDateFormatter,因为它很昂贵。(setFormat就像一个新的格式化程序一样重要)@Wain,非常感谢你!我已经照你说的做了,效果很好:)这个答案很好,这个答案很好,这个答案很好