DoK*_*DoK 7 javascript momentjs
我想格式化总计工作时间,例如49.75到49:45.
当我使用这样的持续时间:
const dur = moment.duration(49.75, 'hours').asMilliseconds();
moment.utc(dur).format("HH:mm:ss") // 01:45:00
Run Code Online (Sandbox Code Playgroud)
我会收到01:45:00而不是49:45:00
有没有办法在不减少日期的情况下格式化(而不是HH)持续时间?
我认为你不能使用格式,但手动构建它:
var dur = moment.duration(49.75, 'hours');
var hours = Math.floor(dur.asHours());
var mins = Math.floor(dur.asMinutes()) - hours * 60;
var sec = Math.floor(dur.asSeconds()) - hours * 60 * 60 - mins * 60;
var result = hours + ":" + mins + ":" + ((sec > 9) ? sec : ("0"+sec));
console.log(result); // 49:45:00
Run Code Online (Sandbox Code Playgroud)
希望有人能找到更优雅的方式
我向您推荐这个答案。
您可以添加持续时间的格式,并且其适用时间超过 24 小时。
function(input) {
input = input || '';
var out = '';
var dur = moment.duration(input, 'minutes');
return dur.format('HH:mm:ss');
};
Run Code Online (Sandbox Code Playgroud)
我希望它可以帮助你!
编辑:
此代码使用持续时间格式插件!