make function that can format time output from absolute seconds. Or minutes whatever you want as you’re resolution. Then just do everything in that unit. Then let your format function deal with showing the user in “time” form.
Nothing in the library datetime will work. We have already established this.
No, you didn't establish it. You just didn't succeed.
The way to do this using the DateTime library, is to use makeTime() and breakTime(). Convert the times you need to subtract to 32 bit time_t values using makeTime(), simply subtract or add them, and then convert back to calendar time using breakTime().