最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - How to convert milliseconds into Dayshoursminutes - Stack Overflow

programmeradmin2浏览0评论

I am calculating the hours,minutes using the milliseconds. Below is mycode

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

I want to display the user the time as 'Days' if hours > 24 , 'minutes' if minute < 60. How can i implement it in template string in the following format

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

I am calculating the hours,minutes using the milliseconds. Below is mycode

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

I want to display the user the time as 'Days' if hours > 24 , 'minutes' if minute < 60. How can i implement it in template string in the following format

setHtml('Duration', `${getDuration(user[0].milli_seconds)} <span id="days">Hours</span> <span>Minutes</span>`);
Share Improve this question asked Jul 23, 2018 at 12:36 NeoNeo 1351 gold badge1 silver badge12 bronze badges 4
  • new Date() accepts miliseconds as single parameter new Date(miliseconds). You can just omit the date part and use its time functionality. developer.mozilla/de/docs/Web/JavaScript/Reference/… – Lain Commented Jul 23, 2018 at 12:38
  • Date object calculates the browser time. I am getting the milliseconds from an external API. i am calculating hours and minutes using those milliseconds. I don't want to display time i just need to display the Days/hours/minutes – Neo Commented Jul 23, 2018 at 12:42
  • Ah I see. My bad. – Lain Commented Jul 23, 2018 at 12:44
  • No problem. I am struggling to calculate and display it on the conditions as i mentioned. – Neo Commented Jul 23, 2018 at 12:45
Add a ment  | 

2 Answers 2

Reset to default 2

You could return it as an object which returns days, hours or minutes depending on what is there.

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);

Original version:

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}) ||
    {minutes: minutes}
  )
};

var tDuration = getDuration(23456576210);

console.log(tDuration);

Calculate days first , then hours and minutes

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));

发布评论

评论列表(0)

  1. 暂无评论