iOS 计算时间差

- (NSString *)dateTimeDifferenceWithStartTime:(NSString *)startTime endTime:(NSString *)endTime {
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSDate *startD =[dateFormatter dateFromString:startTime];
    NSDate *endD = [dateFormatter dateFromString:endTime];
    NSTimeInterval start = [startD timeIntervalSince1970]*1;
    NSTimeInterval end = [endD timeIntervalSince1970]*1;
    NSTimeInterval value = end - start;
    int second = (int)value %60;//秒
    int minute = (int)value /60%60;
    int house = (int)value / (24 * 3600)%3600;
    int day = (int)value / (24 * 3600);
    NSString *stringTimeInterval;
    if (day != 0) {
        stringTimeInterval = [NSString stringWithFormat:@"耗时%d天%d小时%d分%d秒",day,house,minute,second];
    }else if (day==0 && house != 0) {
        stringTimeInterval = [NSString stringWithFormat:@"耗时%d小时%d分%d秒",house,minute,second];
    }else if (day== 0 && house== 0 && minute!=0) {
        stringTimeInterval = [NSString stringWithFormat:@"耗时%d分%d秒",minute,second];
    }else{
        stringTimeInterval = [NSString stringWithFormat:@"耗时%d秒",second];
    }
    return stringTimeInterval;
}

- (NSTimeInterval)timeIntervarlWithStartTime:(NSString *)startTime endTime:(NSString *)endTime {
    NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSDate * dateStart = [dateFormatter dateFromString:startTime];
    NSDate * dateEnd = [dateFormatter dateFromString:endTime];
    return [dateEnd timeIntervalSinceDate:dateStart];
}

你可能感兴趣的:(iOS 计算时间差)