日期和時間

NSDate:表示一個具體的時間點

當前時間

NSDate * now = [[NSDate alloc] init];
now = [NSDate date];
NSLog(@"now=%@",now);

時間格式化

NSDateFormatter * f = [[NSDateFormatter alloc] init];
f.dateFormat = @"yyyy-MM-dd";

時間轉字符串
NSLog(@"%@",[f stringFromDate:now]);

時間增減

NSString * currDateStr = [f stringFromDate:now];
NSDate * currDate = [f dateFromString:currDateStr];

NSDate * yesterday = [[NSDate date] dateByAddingTimeInterval:-86400];
NSDate * tomorrow = [[NSDate date] dateByAddingTimeInterval:86400];

字符串轉時間

NSString * todayStr = @"2018-10-16";
yesterday = [f dateFromString:todayStr];
NSLog(@"%@",yesterday);

日期轉時間戳

float ts = [yesterday timeIntervalSince1970];//1970到現在的時間戳
NSLog(@"%f",ts);

float ts1 = [yesterday timeIntervalSinceNow];//時間戳差值
NSLog(@"yesterday-當前時間戳=%f",ts1);//-120331.656250

float ts2 = [yesterday timeIntervalSinceDate:currDate];//時間戳差值
NSLog(@"yesterday-currDate=%f",ts2);

時間戳轉日期

NSDate * date1 = [NSDate dateWithTimeIntervalSince1970:ts];
NSLog(@"%@",date1);

NSCalendar:用於處理時間相關問題。比如比較時間前後,計算日期所在周等

獲取年份、月份、日期、小時、分鐘、秒、星期等

NSCalendar * calendar = [NSCalendar currentCalendar];
NSDate * now = [NSDate date];
NSCalendarUnit * unit = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond ;
NSDateComponents * components = [calendar components:unit fromDate:now];
NSLog(@"%@",components);//月份:components.year

比較兩個日期的差值

NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyy-MM-dd hh:mm:ss";
NSDate * date1 = [formatter dateFromString:@"2018-10-01 8:00:00"];
NSDate * date2 = [formatter dateFromString:@"2019-12-01 9:00:00"];
components = [calendar components:unit fromDate:date1 toDate:date2 options:0];
NSLog(@"%@",components);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章