objective-c - 如何比较时间

标签 objective-c time compare

Objective C 中如何比较时间?

if (nowTime > 9:00 PM) && (nowTime < 7:00 AM) 
{
  doSomething;
}

最佳答案

如果你想获取当前时间并将它与某些时间进行比较,你将不得不使用 NSDateNSDateComponentsNSCalendar.

NSDateComponents *components = [[NSCalendar currentCalendar] components:NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit fromDate:[NSDate date]];
NSInteger currentHour = [components hour];
NSInteger currentMinute = [components minute];
NSInteger currentSecond = [components second];

if (currentHour < 7 || (currentHour > 21 || currentHour == 21 && (currentMinute > 0 || currentSecond > 0))) {
    // Do Something
}

这将检查时间是否在晚上 9:00 到早上 7:00 之间。当然,如果您想要不同的时间,则必须稍微更改代码。


了解 NSDate , NSDateComponents , 和 NSCalendar了解更多。

关于objective-c - 如何比较时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5388551/

相关文章:

objective-c - 在快速枚举中跟踪索引

ios - 如何根据 iOS 中的内容更改 UILabel 高度

ios - 自定义类型右栏按钮项之间的间距

perl - 将 999 年之前的时间转换为纪元

c++ - 比较文件结尾与字符

objective-c - 在 Realm 迁移期间,如何进行多对一迁移?

c# - 具有 128 位键的基于时间的字典/哈希表,即超时字典中的值

c#启动一个任务需要多长时间

java - 如何比较STL数据结构中的对象

mysql - 有什么方法可以比较/匹配仅具有不同词序的句子吗?