class TimeDiff
{
seconds = 0;
minutes = 0;
hours = 0;
constructor(hours : number, minutes : number, seconds : number) {
this.hours = hours;
this.minutes = minutes;
this.seconds = seconds;
}
static timeDifference(start : TimeDiff, end : TimeDiff) {
let timediff = new TimeDiff(0, 0, 0);
if (start.seconds > end.seconds) {
end.minutes--;
end.seconds += 60;
}
timediff.seconds = end.seconds - start.seconds;
if (start.minutes > end.minutes) {
end.hours--;
end.minutes += 60;
}
timediff.minutes = end.minutes - start.minutes;
timediff.hours = end.hours - start.hours;
return timediff;
}
}
let start = new TimeDiff(7, 11, 25);
let end = new TimeDiff(11, 32, 17);
let timediff = TimeDiff.timeDifference(start, end);
console.log(timediff.hours + ":" + timediff.minutes + ":" + timediff.seconds);
/*
run:
"4:20:52"
*/