ios - 比较时间(格式为 HH :MM:SS) if between two times in IOS

标签 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 格式)

最佳答案

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

一旦你有了日期,你就可以添加时间(另请参阅 NSDateComponents 类)。

关于ios - 比较时间(格式为 HH :MM:SS) if between two times in IOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19997018/

相关文章:

php - 如何查看时间是否与MYSQL中已存在的记录重叠?

ios - MapKit 是否提供高程数据?

iphone - 你如何在 iOS 中裁剪图像

algorithm - 在在线国际象棋游戏中,如何最大程度地减少时间控制滞后的影响?

c - 如何在 C 中实现时钟例程

Java 8 : How to create DateTimeFormatter with milli, 微秒还是纳秒?

Python 3 蛮力,paramiko ssh 连接失败太多时间

ios - 点击后如何更改 SwiftUI TextField 样式?

iOS:AppStore 安装旧版本,然后提供更新到新版本

iphone - 为什么 AVCaptureVideoOrientation 横向模式会导致静止图像颠倒?