如果在IOS中两次之间,则比较时间(格式为HH:MM:SS)

时间:2013-11-15 08:53:46

标签: ios time

我的开始时间和结束时间格式为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格式)

1 个答案:

答案 0 :(得分:3)

将字符串转换为日期(NSDate)并使用compare:方法。不要以为你可以在对象实例上使用<,他们会神奇地知道你希望他们用它做什么(你实际上是在比较指针值)。

获得日期后,您可以添加时间(另请查看NSDateComponents课程。)