ios 计算两个时间相差秒数_Ios中时间差的计算,NSData与NSCalendar(日历)对象
時(shí)間差的計(jì)算:
計(jì)算過去時(shí)間與當(dāng)前時(shí)間的時(shí)間差
注意:其中的NSDateFormatter時(shí)間格式化類初始化非常消耗性能,如果多次使用,建議定義為全局。
NSString *timeStr = @"2016-10-18 8:22:24";
//創(chuàng)建時(shí)間格式化類
NSDateFormatter *dataFormatter =[[NSDateFormatter alloc] init];
//設(shè)置時(shí)間格式化樣式
dataFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
//把時(shí)間字符串轉(zhuǎn)化為date
NSDate *timeDate = [dataFormatter dateFromString:timeStr];
//把時(shí)間轉(zhuǎn)化為時(shí)間戳
NSTimeInterval lateTime = [timeDate timeIntervalSince1970];
//獲取當(dāng)前時(shí)間戳
NSDate *currentDate = [NSDate date];
NSTimeInterval currentTime = [currentDate timeIntervalSince1970];
//獲取時(shí)間差
NSTimeInterval cha = currentTime - lateTime;
//獲取相差的秒數(shù)
int sen = (int) cha % 60;
//獲取相差的分鐘數(shù)
int min = (int) cha / 60 % 60;
//獲取相差的小時(shí)數(shù)
int house = (int) cha / 60 /60;
//獲取相差時(shí)間的字符串
NSString *differTime = [NSString stringWithFormat:@"%02d:%02d:%02d",house,min,sen];
NSLog(@"%@",differTime);
NSDate與NSCalendar:
NSDate是獨(dú)立與任何歷法的,它只是時(shí)間相對(duì)于某個(gè)時(shí)間點(diǎn)的時(shí)間差;NSDate是進(jìn)行日歷計(jì)算的基礎(chǔ)
獲取年、月、日、小時(shí),分鐘、秒、星期、季度、這個(gè)月的第幾個(gè)星期、這一年的第幾個(gè)星期
//定義一個(gè)遵循某歷法的日歷對(duì)象
NSCalendar *gcCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
//獲取某個(gè)時(shí)間點(diǎn)NSDateComponents表示,并設(shè)置需要表示哪些
NSDateComponents *dateComponents = [gcCalendar components:kCFCalendarUnitYear |
kCFCalendarUnitMonth |
kCFCalendarUnitDay |
kCFCalendarUnitHour |
kCFCalendarUnitMinute |
kCFCalendarUnitSecond |
kCFCalendarUnitWeekday |
kCFCalendarUnitWeekdayOrdinal |
kCFCalendarUnitQuarter |
kCFCalendarUnitWeekOfMonth |
kCFCalendarUnitWeekOfYear |
kCFCalendarUnitYearForWeekOfYear fromDate:[NSDate date]];
//依次是年、月、日、小時(shí),分鐘、秒、星期、季度、這個(gè)月的第幾個(gè)星期、這一年的第幾個(gè)星期
NSLog(@"%ld",(long)dateComponents.year);
NSLog(@"%ld",(long)dateComponents.month);
NSLog(@"%ld",(long)dateComponents.day);
NSLog(@"%ld",(long)dateComponents.hour);
NSLog(@"%ld",(long)dateComponents.minute);
NSLog(@"%ld",(long)dateComponents.second);
//從星期日開始計(jì)算,星期日為1
NSLog(@"%ld",(long)dateComponents.weekday);
NSLog(@"%ld",(long)dateComponents.quarter);
NSLog(@"%ld",(long)dateComponents.weekOfMonth);
NSLog(@"%ld",(long)dateComponents.weekOfYear);
總結(jié)
以上是生活随笔為你收集整理的ios 计算两个时间相差秒数_Ios中时间差的计算,NSData与NSCalendar(日历)对象的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 存款的种类有什么?哪种利息最低?
- 下一篇: 代还信用卡要注意的事 这些风险要承担