当我的应用程序启动时,我想检查日期是否在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是去的路. ;)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。