我计算两个日期之间的差异。我已经创建了自己的解决方案:
NSDate *actualDate = [NSDate date];
NSTimeInterval sec = [eveDate timeIntervalSinceDate:actualDate];
int secondsBetween = sec;
int minBetween = sec / 60;
int hoursBetween = sec / 3600;
int daysBetween = sec / 86400;
_lblDays.text = [NSString stringWithFormat:@"%d", daysBetween];
_lblHours.text = [NSString stringWithFormat:@"%d", hoursBetween % 24];
_lblMin.text = [NSString stringWithFormat:@"%d", minBetween % hoursBetween];
_lblSec.text = [NSString stringWithFormat:@"%d", secondsBetween % minBetween];
但我相信有一个更好的解决方案(例如本地课程),但我找不到任何东西。你能告诉我怎么做得更好吗?
答案 0 :(得分:8)
这是另一种计算方法。
NSDateComponents *components = [[NSCalendar currentCalendar] components: NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute|NSCalendarUnitSecond
fromDate: startDate toDate: endDate options: 0];
NSInteger days = [components day];
NSInteger hour=[components hour];
NSInteger minutes=[components minute];
NSInteger sec = [components second];
答案 1 :(得分:0)
您可以使用NSCalendar和NSDateComponents类来执行此操作:
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [calendar components:NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute|NSCalendarUnitSecond fromDate:actualDate toDate:eveDate options:0];
NSLog(@"Days->%d Hour->%d, Minute->%d, Second->%d", components.day, components.hour, components.minute, components.second);