時間差的計(jì)算、系統(tǒng)時間

一、獲取系統(tǒng)時間并轉(zhuǎn)化成字符串(打印出來是這個格式:yyyy-MM-dd HH:mm:ss)

NSDate * dateXT? = [NSDate date];

NSCalendar * calendarXT = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];

NSDateComponents *compXT = [calendarXT components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit|NSHourCalendarUnit|NSMinuteCalendarUnit|NSSecondCalendarUnit|NSWeekCalendarUnit|NSWeekdayCalendarUnit fromDate:dateXT];

NSString * stringXT = [NSString stringWithFormat:@"%ld-%ld-%ld %ld:%ld:%ld",(long)compXT.year, (long)compXT.month, (long)compXT.day, (long)compXT.hour, (long)compXT.minute, (long)compXT.second];

二、帶年份的時間差(打印出來的是帶年的時間差)

//創(chuàng)建時間對象

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";

NSString *str = @"2014-05-13 21:34:55";

NSDate *date = [formatter dateFromString:str];

NSString *str1 = @"2016-02-8 22:49:33";

NSDate *date1 = [formatter dateFromString:str1];

//初始化日歷

NSCalendar *calendar = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian];

//拿到時間差

NSDateComponents *com = [calendar components:NSCalendarUnitYear |NSCalendarUnitMonth |NSCalendarUnitDay |NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond? fromDate:date toDate:date1 options:0];

NSLog(@"相差%ld年%ld個月%ld天%ld小時%ld分鐘%ld秒", (long)com.year, (long)com.month, (long)com.day, (long)com.hour, (long)com.minute, (long)com.second);

三、不帶年份的時間差(打印出來的是幾天幾分幾秒)

//創(chuàng)建時間對象

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";

NSString *str = @"2014-05-13 21:34:55";

NSDate *date = [formatter dateFromString:str];

NSString *str1 = @"2016-02-8 22:49:33";

NSDate *date1 = [formatter dateFromString:str1];

//初始化日歷

NSCalendar *calendar = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian];

//拿到時間差

NSDateComponents *com = [calendar components:NSCalendarUnitDay |NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond? fromDate:date0 toDate:date1 options:0];

//轉(zhuǎn)化成秒(這樣的時間可以轉(zhuǎn)化成秒)

NSTimeInterval startToEndsec =(long)com.day *86400 + (long)com.hour *3600+(long)com.minute * 60+(long)com.second;

NSLog(@"相差%ld天%ld小時%ld分鐘%ld秒", (long)com.day, (long)com.hour, (long)com.minute, (long)com.second);

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

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

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