最近在模仿一款A(yù)PP盈匾,其中有一個顯示內(nèi)容是從現(xiàn)在的時間到規(guī)定截止時間的剩余時間意系,以時分秒的形式顯示出來,下面我自己使用的方法奉上:
首先耍鬓,獲得當(dāng)前時間
NSDate *nowDate = [NSDate date];
然后密末,創(chuàng)建一個日期格式化格式 (這樣說應(yīng)該沒有錯吧)
NSDateFormatter *dateFomatter = [[NSDateFormatter alloc] init];
dateFomatter.dateFormat = @"yyyy-MM-dd HH:mm:ss.0";
接著缔杉,就是獲得剩余截止時間數(shù)據(jù)
// 截止時間字符串格式
NSString *expireDateStr = status.expireDatetime;
// 當(dāng)前時間字符串格式
NSString *nowDateStr = [dateFomatter stringFromDate:nowDate];
// 截止時間data格式
NSDate *expireDate = [dateFomatter dateFromString:expireDateStr];
// 當(dāng)前時間data格式
nowDate = [dateFomatter dateFromString:nowDateStr];
// 當(dāng)前日歷
NSCalendar *calendar = [NSCalendar currentCalendar];
// 需要對比的時間數(shù)據(jù)
NSCalendarUnit unit = NSCalendarUnitYear | NSCalendarUnitMonth
| NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
// 對比時間差
NSDateComponents *dateCom = [calendar components:unit fromDate:nowDate toDate:expireDate options:0];
最后忍坷,提取自己需要的時間差數(shù)據(jù)
// 偽代碼
年差額 = dateCom.year, 月差額 = dateCom.month, 日差額 = dateCom.day, 小時差額 = dateCom.hour, 分鐘差額 = dateCom.minute, 秒差額 = dateCom.second