如何将毫秒转换为天/小时/分钟

时间:2018-07-23 12:36:02

标签: javascript date datetime time

我正在用毫秒计算小时,分钟。下面是mycode

function getDuration(milli){
  let minutes = Math.floor(milli / 60000);
  let hours = Math.round(minutes / 60);
}

如果小时数> 24,我想将用户的时间显示为“天”,如果分钟数<60,则要显示为“分钟”。我如何以以下格式在模板字符串中实现它

setHtml('Duration', `${getDuration(user[0].milli_seconds)} <span id="days">Hours</span> <span>Minutes</span>`);

2 个答案:

答案 0 :(得分:0)

先计算天数,然后计算小时数和分钟数

function convertToDays(milliSeconds){
let days = Math.floor(milliSeconds/(86400 * 1000));
milliSeconds -= days*(86400*1000);
let hours = Math.floor(milliSeconds/(60 * 60 * 1000 ));
milliSeconds -= hours * (60 * 60 * 1000);
let minutes = Math.floor(milliSeconds/(60 * 1000));
return {
  days,hours,minutes
} 
  
}

console.log(convertToDays(8640000));

答案 1 :(得分:-1)

您可以将其作为对象返回,返回的天数,小时数或分钟数取决于对象。

function getDuration(milli){
  let minutes = Math.floor(milli / 60000);
  let hours = Math.round(minutes / 60);
  let days = Math.round(hours / 24);

  return (
    (days && {value: days, unit: 'days'}) ||
    (hours && {value: hours, unit: 'hours'}) ||
    {value: minutes, unit: 'minutes'}
  )
};

var tDuration = getDuration(23456576210);

console.log(tDuration.value + ': ' + tDuration.unit);

原始版本:

function getDuration(milli){
  let minutes = Math.floor(milli / 60000);
  let hours = Math.round(minutes / 60);
  let days = Math.round(hours / 24);

  return (
    (days && {days: days}) ||
    (hours && {hours: hours}) ||
    {minutest: minutes}
  )
};

var tDuration = getDuration(23456576210);

console.log(tDuration);