I realize this is not exactly what the original poster needed, but I needed to get days, hours, and minutes from a decimal time that I could then use for calculations and setting a date object. Many other posts are using outdated methods involving strings and slicing, etc.
const decimalHours = 27.33;
const n = new Date(0,0);
n.setMinutes(+Math.round(decimalHours * 60));
const days = (n.getDate() - 1)
const hours = n.getHours()
const minutes = n.getMinutes()
console.log("Days: ",days, "Hours: ",hours, "Minutes: ",minutes)
const decimalHours = 4.33;
const n = new Date(0,0);
n.setMinutes(+Math.round(decimalHours * 60));
const days = (n.getDate() - 1)
const hours = n.getHours()
const minutes = n.getMinutes()
console.log("Days: ",days, "Hours: ",hours, "Minutes: ",minutes)
Note that this is not designed for hour values over a month long.