本文為日期基本操作,只要涉及到:日期創建、時間間隔、日期轉換。可以參考官方文檔進行進一步學習研究
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];