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