[iOS]判断当前时间是否在指定的时间段内
2015-06-15 15:25
686 查看
一、问题描述
应用需要,判断当前时间是否在指定的时间段内,从而进行不同的操作
二、问题解决
用NSDateComponents、NSCalendar确定俩固定的NSDate格式的时间,然后再进行比较
应用需要,判断当前时间是否在指定的时间段内,从而进行不同的操作
二、问题解决
用NSDateComponents、NSCalendar确定俩固定的NSDate格式的时间,然后再进行比较
/** * @brief 判断当前时间是否在fromHour和toHour之间。如,fromHour=8,toHour=23时,即为判断当前时间是否在8:00-23:00之间 */ + (BOOL)isBetweenFromHour:(NSInteger)fromHour FromMinute:(NSInteger)fromMin toHour:(NSInteger)toHour toMinute:(NSInteger)toMin { NSDate *date8 = [self getCustomDateWithHour:8 andMinute:fromMin]; NSDate *date23 = [self getCustomDateWithHour:23 andMinute:toMin]; NSDate *currentDate = [NSDate date]; if ([currentDate compare:date8]==NSOrderedDescending && [currentDate compare:date23]==NSOrderedAscending) { NSLog(@"该时间在 %d:%d-%d:%d 之间!", fromHour, fromMin, toHour, toMin); return YES; } return NO; } /** * @brief 生成当天的某个点(返回的是伦敦时间,可直接与当前时间[NSDate date]比较) * @param hour 如hour为“8”,就是上午8:00(本地时间) */ + (NSDate *)getCustomDateWithHour:(NSInteger)hour andMinute:(NSInteger)minute { //获取当前时间 NSDate *currentDate = [NSDate date]; NSCalendar *currentCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; NSDateComponents *currentComps = [[NSDateComponents alloc] init]; NSInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSWeekdayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit; currentComps = [currentCalendar components:unitFlags fromDate:currentDate]; //设置当天的某个点 NSDateComponents *resultComps = [[NSDateComponents alloc] init]; [resultComps setYear:[currentComps year]]; [resultComps setMonth:[currentComps month]]; [resultComps setDay:[currentComps day]]; [resultComps setHour:hour]; [resultComps setMinute:minute]; NSCalendar *resultCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; return [resultCalendar dateFromComponents:resultComps]; }
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 一个扩展时间段的dir命令的vbs脚本
- mysql如何查询某一时间段内没有卖出的商品
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- MySql查询时间段的方法
- .net平台推送ios消息的实现方法
- MySql 按时间段查询数据方法(实例说明)
- 探讨Android与iOS,我们将何去何从?
- Android、iOS和Windows Phone中的推送技术详解
- PHP判断指定时间段的2个方法
- IOS 改变键盘颜色代码
- Android和IOS的浏览器中检测是否安装某个客户端的方法
- javascript实现阻止iOS APP中的链接打开Safari浏览器