Obj-C解析dd:hh:mm:ss的秒数

Lau*_*Lau 2 date objective-c nsdate intervals ios

我正在计算两个日期之间的差异.我已经创建了自己的解决方案:

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];
Run Code Online (Sandbox Code Playgroud)

但我相信有一个更好的解决方案(例如本机类)但我找不到任何东西.你能告诉我怎么做得更好吗?

Vij*_*jay 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];
Run Code Online (Sandbox Code Playgroud)