ios – 如何检查现在的日期是在9:00-18:00

前端之家收集整理的这篇文章主要介绍了ios – 如何检查现在的日期是在9:00-18:00前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我的应用程序启动时,我想检查日期是否在9:00-18:00之间.

而现在我可以使用NSDate了.如何检查时间?

解决方法

这么多的答案和这么多的缺陷…

您可以使用NSDateFormatter从日期获取用户友好的字符串.但是使用该字符串进行日期比较是一个非常糟糕的主意!
请忽略涉及使用字符串的任何问题的答案

如果您想要获取有关日期年,月,日,时,分等信息,您应该使用NSCalendar和NSDateComponents.

为了检查日期是否在9:00至18:00之间,您可以执行以下操作:

NSDate *date = [NSDate date];
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *dateComponents = [calendar components:NSHourCalendarUnit fromDate:date];

if (dateComponents.hour >= 9 && dateComponents.hour < 18) {
    NSLog(@"Date is between 9:00 and 18:00.");
}

编辑:使用dateComponents.hour< = 18的Whoops将导致18:01之间的日期错误的结果. dateComponents.hour< 18是去的路. ;)

猜你在找的iOS相关文章