JSFiddle - React, Tailwind, and code Playground
JavaScript
/*
CONSTANTES INICIAIS
Opcionais, mas evitam confusões no desenvolvimento.
Você pode substitui-las por seus respectivos valores no código.
*/
var um_min = 60; // Um minuto tem 60 segundos;
var uma_hora = 60*um_min; // Uma hora tem 60 minutos;
var um_dia = 24*uma_hora; // Um dia tem 24 horas.
/*
ENTRADA, EM SEGUNDOS
Essa variável recebe um valor de exemplo, a fim de demonstração.
Você irá substitui-la pela entrada que vem do seu programa.
*/
// 3 dias, 5 horas, 12 minutos e 35 segundos.
// Lembrando que os valores de todas as variáveis estão em SEGUNDOS:
var input_seg = 3*um_dia + 5*uma_hora + 12*um_min + 35;
/*
INÍCIO DO ALGORITMO
*/
// Obtemos o número de dias cheios contidos dentro da entrada:
var total_dias = Math.floor(input_seg / um_dia);
// Descontamos esse tempo, para que possamos continuar apenas com o tempo não analisado:
input_seg -= total_dias * um_dia;
// Da mesma maneira, obtemos o número de horas cheias dentro do tempo restante na entrada:
var total_horas = Math.floor(input_seg / uma_hora);
input_seg -= total_horas * uma_hora;
// Finalmente, obtemos o número de minutos exatos dentro do tempo restante:
var total_min = Math.floor(input_seg / um_min);
// Se você não deseja a precisão de segundos, o próximo passo é opcional:
input_seg -= total_min * um_min;
/*
OUTPUT
*/
console.log(total_dias + "d " + total_horas + "h" + total_min);