我有几个小时的号码,我需要将它转换为几小时和几分钟。
例如,我有这个小时数33.22
我需要将其转换为几小时和几分钟。
结果应为01.09:13:12
(即一天9小时,13分钟和12秒)。
目前我这样做:
value = 33.22
var x = new Date(value * 3600000); //replace with TotalMilliSeconds in your case
var time = x.toUTCString().split(' ')[4]; //slit by space character
return time.split(':')[0] + ":" + time.split(':')[1];
但是我错了的结果我想我应该避免使用Date对象。
如果我有小时数,怎么能得到几小时和几分钟?
答案 0 :(得分:5)
我会编写一个函数convert
,它将您的输入(小时)作为参数,将其转换为秒,计算天,小时和分钟,最后返回格式化的字符串:
const convert = (a) => {
let secs = a * 3600; // get total amount of seconds from your input
const days = Math.floor(secs / (3600 * 24));
secs -= days * 3600 * 24;
const hours = Math.floor(secs / 3600);
secs -= hours * 3600;
const mins = Math.floor(secs / 60);
secs -= mins * 60;
console.log(`${days.toString().padStart(2,'0')}.${hours.toString().padStart(2,'0')}:${mins.toString().padStart(2,'0')}:${secs.toString().padStart(2,'0')}`);
}