TimeRange 1.1.0

TimeRange 1.1.0

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布最新发布2014年12月

azuakuraru维护。




TimeRange 1.1.0

TimeRange提供检查一个NSDate是否在两个其他NSDate之间的功能。

  • 检查一个NSDate是否包含在TimeRange中。(例如,12:00 包含在 10:00 ~ 20:00 中)
  • 检查一个TimeRange是否与另一个TimeRange重叠。

安装

用法

您可以尝试以下操作:

pod try "TimeRange"

img

API

@interface TimeRange : NSObject
// CAUTION : You should not access directory these property.
@property(nonatomic, readonly) NSDate *aDate;
@property(nonatomic, readonly) NSDate *bDate;

+ (instancetype)rangeWithStartDate:(NSDate *) startDate endDate:(NSDate *) endDate;

- (BOOL)contains:(NSDate *) targetData;

- (BOOL)overlaps:(TimeRange *) anotherTimeRange;

- (NSString *)description;
@end

contains

检查一个NSDate是否包含在TimeRange中

/*
    20:00 ~ 04:00

    target date is 01:00

    It's contained the time range.
*/
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setCalendar:[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]];
[formatter setDateFormat:@"HH:mm:ss"];
NSDate *aDate = [formatter dateFromString:@"20:00"];
NSDate *bDate = [formatter dateFromString:@"04:00"];
TimeRange *timeRange = [TimeRange rangeWithStartDate:aDate bDate:bDate];
NSDate *targetDate = [formatter dateFromString:@"01:00"];
[timeRange contains:targetDate];// => YES

overlaps

比较TimeRange

/*
    04:00 ~ 10:00
    17:00 ~ 23:00

    are doesn't overlap.
*/

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setCalendar:[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]];
[formatter setDateFormat:@"HH:mm:ss"];
NSArray *aRangeData = @[@"04:00:00", @"10:00:00"];
NSArray *bRangeData = @[@"17:00:00", @"23:00:00"];
TimeRange *aRange = [TimeRange rangeWithStartDate:[formatter dateFromString:aRangeData[0]] bDate:[formatter dateFromString:aRangeData[1]]];
TimeRange *bRange = [TimeRange rangeWithStartDate:[formatter dateFromString:bRangeData[0]] bDate:[formatter dateFromString:bRangeData[1]]];
[aRange overlaps:bRange];// => NO

贡献

  1. Fork它!
  2. 创建您的功能分支:git checkout -b my-new-feature
  3. 提交您的更改:git commit -am '添加某些功能'
  4. 推送到分支:git push origin my-new-feature
  5. 提交pull request :D

许可

MIT

感谢