知识小结四:NSDate基本操作

本文为日期基本操作,只要涉及到:日期创建、时间间隔、日期转换。可以参考官方文档进行进一步学习研究

1.日期初始化

    NSDate *date = [NSDate date];
    NSLog(@"%@",date); //2017-04-03 09:19:35 +0000

    //当前时间后2s
    NSDate *date1 = [[NSDate alloc] initWithTimeIntervalSinceNow:2];
    NSLog(@"%@",date1);

    //从某个时间点date算起,后2s的时间
    NSDate *date2 = [[NSDate alloc] initWithTimeInterval:2 sinceDate:date];

    //从00:00:00 UTC on 1 January 2001. 后时间间隔
    NSDate *date3 = [[NSDate alloc] initWithTimeIntervalSinceReferenceDate:2];

2.获取时间间隔

    //typedef double NSTimeInterval;
    NSTimeInterval interval = [date1 timeIntervalSinceNow];

    // 获取今天到明天的时间间隔
    NSTimeInterval interval1 = [date1 timeIntervalSinceDate:date];

    // 获取 2001-01-01 08:00:00 到今天的时间间隔
    NSTimeInterval interval3 = [date timeIntervalSinceReferenceDate];

    // 获取 1970-01-01 08:00:00 到今天的时间间隔
    NSTimeInterval interval4 = [date timeIntervalSince1970];

3.日期之间操作

    //返回时间间隔为2s对日期
    NSDate *addDate = [date dateByAddingTimeInterval:2];

    // 返回一个更早的日期
    //  - (NSDate *)earlierDate:(NSDate *)anotherDate;
    // 2个日期比较,返回更晚的日期
    //  - (NSDate *)laterDate:(NSDate *)anotherDate;
    // 日期比较,返回 NSComparisonResult 类型
    //  - (NSComparisonResult)compare:(NSDate *)other;
    //  日期是否相等
    //  - (BOOL)isEqualToDate:(NSDate *)otherDate

4.日期转换

    NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
    [formatter setDateFormat:@"yyyy-MM-dd"];

    //转换格式
    NSLog(@"%@",[formatter stringFromDate:date]); //2017-04-03
    
    //4.2 字符串 --> 日期
    NSString *dateStr = @"2017-04-01";
    NSDate * formatterDate = [formatter dateFromString:dateStr];

5.随机返回一个不能达到的时间

    NSDate *futureDate = [NSDate distantFuture];
    NSDate *pastDate = [NSDate distantPast];

你可能感兴趣的:(知识小结四:NSDate基本操作)