0

我有格式为 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 格式)

4

1 回答 1

3

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

一旦有了日期,您就可以添加时间(也可以查看NSDateComponents课程)。

于 2013-11-15T08:58:14.820 回答