calculating days, hours, minutes

calculating days, hours, minutes

i have the following equation worked out, but it is not subtracting the time used in days portion of it and adding that into hours in the hours part of it

 (((input.Closed_Time - input.Open_Time)) / (1000 * 3600 * 24)).toLong() + " Days " + (((input.Closed_Time - input.Open_Time)) / (1000 * 3600)).toLong() + " Hours " + (((((input.Closed_Time - input.Open_Time)) / (1000 * 3600)).toDecimal() - (((input.Closed_Time - input.Open_Time)) / (1000 * 3600)).toLong()) * 60).toLong() + " Mins"


so it takes these two time stamps:
Open Time:  11-Jan-2021 13:07
Closed Time:  01-Feb-2021 13:08:50

and gives the following result
21 Days 504 Hours 1 Mins

The result I am looking to achieve is
21 Days 0 Hours 1 MIns

Thanks for any input