export function formatDuration()

in tools/azure-socketio-admin-ui/src/util.js [16:35]


export function formatDuration(duration) {
  const d = Math.ceil(Math.max(duration, 0));
  const days = Math.floor(d / 86400);
  const hours = Math.floor((d - days * 86400) / 3600);
  const minutes = Math.floor((d - days * 86400 - hours * 3600) / 60);
  const seconds = Math.ceil(d) - days * 86400 - hours * 3600 - minutes * 60;

  const output = [];
  if (days > 0) {
    output.push(days + "d");
  }
  if (days > 0 || hours > 0) {
    output.push(hours + "h");
  }
  if (days > 0 || hours > 0 || minutes > 0) {
    output.push(minutes + "m");
  }
  output.push(seconds + "s");
  return output.join(" ");
}