IOS,利用NSDateComponents,NSCalendar判断当前的时间点是否在某个时间段内的方法

 1 - (BOOL)isBetweenFromHour:(NSInteger)fromHour toHour:(NSInteger)toHour
 2 {
 3     NSDate *date8 = [self getCustomDateWithHour:8];
 4     NSDate *date23 = [self getCustomDateWithHour:23];
 5     NSDate *currentDate = [NSDate date];
 6
 7     if ([currentDate compare:date8]==NSOrderedDescending && [currentDate compare:date23]==NSOrderedAscending)
 8     {
 9         NSLog(@"该时间在 %ld:00-%ld:00 之间!", (long)fromHour, (long)toHour);
10         return YES;
11     }
12     return NO;
13 }
14 /**
15  * @brief 生成当天的某个点(返回的是伦敦时间,可直接与当前时间[NSDate date]比较)
16  * @param hour 如hour为“8”,就是上午8:00(本地时间)
17  */
18 - (NSDate *)getCustomDateWithHour:(NSInteger)hour
19 {
20     //获取当前时间
21     NSDate *currentDate = [NSDate date];
22
23     NSCalendar *currentCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
24     NSDateComponents *currentComps = [[NSDateComponents alloc] init];
25     NSInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSWeekdayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;
26     // 生成当天的component
27     currentComps = [currentCalendar components:unitFlags fromDate:currentDate];
28     //设置当天的某个点
29     NSDateComponents *resultComps = [[NSDateComponents alloc] init];
30     [resultComps setYear:[currentComps year]];
31     [resultComps setMonth:[currentComps month]];
32     [resultComps setDay:[currentComps day]];
33     [resultComps setHour:hour];
34
35     // 根据resultCalendar和resultComps生成日期
36     NSCalendar *resultCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
37     return [resultCalendar dateFromComponents:resultComps];
38 }
时间: 2024-11-02 23:29:53

IOS,利用NSDateComponents,NSCalendar判断当前的时间点是否在某个时间段内的方法的相关文章

SQL查询出当前服务器时间是否在表T1时间段内,如果有则选择出

表T1 开始 时间         结束时间          09:00:00          12:00:00      14:00:00          17:00:00 查询出当前服务器时间是否在表T1时间段内,如果有则选择出 选出的sql结果集如下,求SQL,  注:SQL2000环境 开始 时间         结束时间           14:00:00          17:00:00 方法一: DECLARE @t TABLE (     beginTime CHAR(

Java判断一个时间是否在另一个时间段内

需求:当时间在凌晨0点至0点5分之间程序不执行. 也就是实现判断当前时间点是否在00:00:00至00:05:00之间 方法: Java代码 : /** * 判断时间是否在时间段内 * * @param date * 当前时间 yyyy-MM-dd HH:mm:ss * @param strDateBegin * 开始时间 00:00:00 * @param strDateEnd * 结束时间 00:05:00 * @return */ public static boolean isInDat

ios中利用NSDateComponents、NSDate、NSCalendar判断当前时间是否在一天的某个时间段内。

应用中设置一般会存在这样的设置,如夜间勿扰模式,从8:00-23:00,此时如何判断当前时间是否在该时间段内.难点主要在于如何用NSDate生成一个8:00的时间和23:00的时间,然后用当前的时间跟这俩时间作对比就好了. 下面提供两条思路: 法1.用NSDate生成当前时间,然后转为字符串,从字符串中取出当前的年.月.日,然后再拼上时.分.秒,然后再将拼接后的字符串转为NSDate,最后用当前的时间跟自己生成的俩NSDate的时间点比较.(该方法比较笨,也不难,但看起来有点太菜了,看上去不怎么

iOS判断当前时间是否处于某个时间段内

/** * 判断当前时间是否处于某个时间段内 * * @param startTime 开始时间 * @param expireTime 结束时间 */ - (BOOL)validateWithStartTime:(NSString *)startTime withExpireTime:(NSString *)expireTime { NSDate *today = [NSDate date]; NSDateFormatter *dateFormat = [[NSDateFormatter al

iOS 断当前时间是否在一天的某个时间段内。

应用中设置一般会存在这样的设置,如夜间勿扰模式,从8:00-23:00,此时如何判断当前时间是否在该时间段内.难点主要在于如何用NSDate生成一个8:00的时间和23:00的时间,然后用当前的时间跟这俩时间作对比就好了. 下面提供两条思路: 法1.用NSDate生成当前时间,然后转为字符串,从字符串中取出当前的年.月.日,然后再拼上时.分.秒,然后再将拼接后的字符串转为NSDate,最后用当前的时间跟自己生成的俩NSDate的时间点比较.(该方法比较笨,也不难,但看起来有点太菜了,看上去不怎么

如何判断两个时间是否是同一天

- (void)viewDidLoad { [super viewDidLoad]; NSString *d = @"2015-03-05 23:59:59"; NSDateFormatter *format = [[NSDateFormatter alloc] init]; [format setDateFormat:@"yyyy:MM:dd HH:mm:ss"]; NSDate *date = [format dateFromString:d]; NSLog(@

[iOS] 利用 NSAttributedString 进行富文本处理

/iOS /[iOS] 利用 NSAttributedString 进行富文本处理 2016年4月4日 刘小龙 iOS 许多时候我们需要以各种灵活的形式展现文本信息,即富文本.普通的 text 属性显然无法满足要求,这时我们需要利用 Foundation 中的 NSAttributedString--属性字符串进行设置.拥有文本显示功能(text 属性)的 UI 控件也都拥有 attributedText 属性. 常用方法 和 NSString 及 Foundation 框架其它集合一样,NSA

iOS利用AFNetworking(AFN) 实现图片上传

1.上传图片以二进制流的形式上传 1 #pragma mark - 文件上传  2 - (IBAction)uploadImage  3 {  4     /*  5      此段代码如果需要修改,可以调整的位置  6        7      1. 把upload.php改成网站开发人员告知的地址  8      2. 把file改成网站开发人员告知的字段名  9      */ 10     // 1. httpClient->url 11      12     // 2. 上传请求P

java 判断两个时间相差的天数!

package com.datedaycha;     import java.text.SimpleDateFormat;     import java.util.Calendar;     import java.util.Date;     import com.sun.org.apache.xerces.internal.impl.xpath.regex.ParseException;     /*      * java 判断两个时间相差的天数     1.实现目标     输入:两