美文网首页
iOS官方文档 Foundation篇---NSDateInte

iOS官方文档 Foundation篇---NSDateInte

作者: qianfei | 来源:发表于2019-05-25 16:52 被阅读0次

    NSDateInterval

    表示特定开始日期和结束日期之间的时间跨度的对象。

    • 继承自NSObject;
    • NSDateInterval对象由startDate和endDate组成,表示两个日期之间的间隔;
    • startDate和endDate可以相等,若相等,NSDateInterval的值为0;
    • endDate不能再startDate之前;
    • 计算两日期的间隔时间,并判断日期是否在其中;
    • 比较日期间隔并判断它们是否相交。
    创建时间间隔
    // 创建日期为当前时间的日期对象
    NSDate *date = [NSDate date];// 2019-05-25 05:50:00 +0000
    
    // 创建从当前日期和时间到给定秒数的日期对象。
    NSDate *date1 = [NSDate dateWithTimeIntervalSinceNow:24*60*60];//2019-05-26 05:50:00 +0000
    
    // 开始日期和结束日期都为当前日期的时间间隔
    NSDateInterval *interval = [[NSDateInterval alloc]init];//(Start Date) 2019-05-25 05:50:00 +0000 + (Duration) 0.000000 seconds = (End Date) 2019-05-25 05:50:00 +0000
    
    // 根据日期和持续时间创建时间间隔
    NSDateInterval *interval1 = [[NSDateInterval alloc]initWithStartDate:date duration:24*60*60];//(Start Date) 2019-05-25 05:50:00 +0000 + (Duration) 86400.000000 seconds = (End Date) 2019-05-26 05:50:00 +0000
    
    // 根据起始时间和结束时间创建时间间隔
    NSDateInterval *interval2 = [[NSDateInterval alloc]initWithStartDate:date endDate:date1];//(Start Date) 2019-05-25 05:50:00 +0000 + (Duration) 86400.000000 seconds = (End Date) 2019-05-26 05:50:00 +0000
    
    访问时间
    // 开始日期和结束日期都为当前日期的时间间隔
    NSDateInterval *interval = [[NSDateInterval alloc]init];//(Start Date) 2019-05-25 05:50:00 +0000 + (Duration) 0.000000 seconds = (End Date) 2019-05-25 05:50:00 +0000
    
    // 获取时间间隔的起始时间
    NSDate *startDate = interval.startDate;// 2019-05-25 05:50:00 +0000
    
    // 获取时间间隔的结束时间
    NSDate *endDate = interval.endDate;// 2019-05-25 05:50:00 +0000
    
    // 获取时间间隔的持续时间
    NSTimeInterval timeInterval = interval.duration;//0
    
    比较时间间隔
    // 比较时间间隔
    NSComparisonResult result =  [interval compare:interval1];//NSOrderedDescending
    
    // 判断两时间间隔是否相等
    BOOL isEqual = [interval isEqualToDateInterval:interval1];//NO
    
    判断日期相交
    // 判断两时间间隔是否相交
    BOOL isIntersect = [interval intersectsDateInterval:interval1];//YES
    
    // 获取两时间间隔的交集
    NSDateInterval *interval3 = [interval intersectionWithDateInterval:interval1];//(Start Date) 2019-05-25 05:50:00 +0000 + (Duration) 0.000000 seconds = (End Date) 2019-05-25 05:50:00 +0000
    
    判断日期是否在日期间隔内
    // 判断时间间隔是否包含指定日期
    BOOL isContain = [interval containsDate:date];//NO
    

    欢迎留言指正,会持续更新!!!

    相关文章

      网友评论

          本文标题:iOS官方文档 Foundation篇---NSDateInte

          本文链接:https://www.haomeiwen.com/subject/xjhzzqtx.html