ios 兩個時間戳轉(zhuǎn)換時間之間的比較,相差多少天多少小時多少分多少秒 及解決時區(qū)相差8小時問題

```

#pragma mark? 比較takeCarTime與systemTime

- (NSUInteger )getHour:(NSString *)takeCarTime systemTime:(NSString *)systemTime

{

//? 時區(qū)相差8個小時 加上這個時區(qū)即是北京時間

NSTimeZone *timeZone = [NSTimeZone systemTimeZone];

NSInteger delta = [timeZone secondsFromGMT];

// 兩個時間戳轉(zhuǎn)換日期類

// [takeCarTime doubleValue]/1000 這里除以1000 我們后臺傳來的時間戳有問題

NSDate? *DRstartDate = [[NSDate alloc] initWithTimeIntervalSince1970:[takeCarTime doubleValue]/1000 + delta];

NSDate *DRendDate = [[NSDate alloc] initWithTimeIntervalSince1970:[systemTime doubleValue]/1000 + delta];

// 日歷對象 (方便比較兩個日期之間的差距)

NSCalendar *calendar = [NSCalendar currentCalendar];

// NSCalendarUnit 枚舉代表想獲得哪些差值 NSCalendarUnitYear 年 NSCalendarUnitWeekOfMonth 月

NSCalendarUnit unit = NSCalendarUnitYear | NSCalendarUnitWeekOfMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;

NSDateComponents *cmps = [calendar components:unit fromDate:DRendDate toDate:DRstartDate options:0];

// 獲得某個時間的年月日時分秒

//? ? ? ? NSDateComponents *createDateCmps = [calendar components:unit fromDate:DRstartDate];

//? ? ? ? NSDateComponents *nowCmps = [calendar components:unit fromDate:DRendDate];

NSLog(@"剩余%ld天,%ld小時%ld分", cmps.day ,cmps.hour, cmps.minute);

NSLog(@"相差%ld小時",cmps.hour);

return cmps.hour;

}

```

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容