1. 程式人生 > >獲取時間差轉換成時、分、秒

獲取時間差轉換成時、分、秒

//獲取當前時間

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

    //設定時間格式,這裡可以設定成自己需要的格式

    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

    NSString *currentDateStr = [dateFormatter stringFromDate:[NSDate date]];

    NSString *yearStr = [currentDateStr substringWithRange:NSMakeRange(0, 4)];

    NSString *monthStr = [currentDateStr substringWithRange:NSMakeRange(5, 2)];

    NSString *dayStr = [currentDateStr substringWithRange:NSMakeRange(8, 2)];

    NSString *hourStr = [currentDateStr substringWithRange:NSMakeRange(11, 2)];

    NSString *minuteStr = [currentDateStr substringWithRange:NSMakeRange(14, 2)];

    NSString *ssStr = [currentDateStr substringWithRange:NSMakeRange(17, 2)];

    NSString *birStr = [NSString stringWithFormat:@"%@%@%@%@%@%@%@%@%@%@%@%@",yearStr,@"年",monthStr,@"月",dayStr,@"日",hourStr,@"時",minuteStr,@"分",ssStr,@"秒"];

//計算時間差

-(NSString *)dateTimeDifferenceWithStartTime:(NSString *)startTime endTime:(NSString *)endTime{

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

//設定不同型別

//    [date setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

    [date setDateFormat:@"HH:mm:ss"];

    NSDate *startD =[date dateFromString:startTime];

    NSDate *endD = [date dateFromString:endTime];

    NSTimeInterval start = [startD timeIntervalSince1970]*1;

    NSTimeInterval end = [endD timeIntervalSince1970]*1;

    NSTimeInterval value = end - start;

    //總共轉成秒

    int miao = (int)value;

    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 *str;

    if (day != 0) {

        str = [NSString stringWithFormat:@"耗時%d天%d小時%d分%d秒",day,house,minute,second];

   }else if (day==0 && house !=0) {

        str = [NSString stringWithFormat:@"耗時%d小時%d分%d秒",house,minute,second];

    }else if (day==0 && house==0 && minute!=0) {

        str = [NSString stringWithFormat:@"耗時%d分%d秒",minute,second];

    }else{

       str = [NSString stringWithFormat:@"耗時%d秒",second];

   }

    str = [NSString stringWithFormat:@"%d",second];

    return str;

}