我想要格式化总工作时间, 49.75对此:49:45。格式化MomentJS持续时间超过24小时
当我使用的持续时间是这样的:
const dur = moment.duration(49.75, 'hours').asMilliseconds();
moment.utc(dur).format("HH:mm:ss") // 01:45:00
我会收到01:45:00,而不是49:45:00
有没有办法来格式化(而不是HH)持续时间没有下降的日子?
我想要格式化总工作时间, 49.75对此:49:45。格式化MomentJS持续时间超过24小时
当我使用的持续时间是这样的:
const dur = moment.duration(49.75, 'hours').asMilliseconds();
moment.utc(dur).format("HH:mm:ss") // 01:45:00
我会收到01:45:00,而不是49:45:00
有没有办法来格式化(而不是HH)持续时间没有下降的日子?
我建议你这个answer 。
您可以添加一个持续时间的格式,并且它的工作时间大于24小时。
function(input) {
input = input || '';
var out = '';
var dur = moment.duration(input, 'minutes');
return dur.format('HH:mm:ss');
};
我希望它能帮助你!
编辑:
该代码使用duration-format插件!
我认为你不能使用的格式,但手动构建它:
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
希望有人会找到更优雅的方式
您的解决方案是迄今为止我所拥有的。我认为有一个格式化函数可以构建到momentJS中,或者至少有一个JJ插件。 – DoK
正如你在例子中看到的,我使用了moment.duration到目前为止。缺少的是一个适当的格式化函数或者至少一个JS插件 – DoK