Javascript Moment.js添加多个日期之间的差异
我使用下面的代码来获取两个日期之间的时间差(以小时、分钟和秒为单位),稍后我会将其作为字符串字段保存在数据库中。因此,我想知道是否可以在功能上使用Moment.js库或任何Javascript来获取数据库中保存的所有日期差异的小时、分钟和秒的总数(例如02:24:33+03:12:20+12:33:33)作为最后一个HH:MM:SS,考虑到如果总小时数超过24小时,HH可能会超过24小时?谢谢Javascript Moment.js添加多个日期之间的差异,javascript,date,momentjs,Javascript,Date,Momentjs,我使用下面的代码来获取两个日期之间的时间差(以小时、分钟和秒为单位),稍后我会将其作为字符串字段保存在数据库中。因此,我想知道是否可以在功能上使用Moment.js库或任何Javascript来获取数据库中保存的所有日期差异的小时、分钟和秒的总数(例如02:24:33+03:12:20+12:33:33)作为最后一个HH:MM:SS,考虑到如果总小时数超过24小时,HH可能会超过24小时?谢谢 $('.set-start-time').on("dp.change",function (e) {
$('.set-start-time').on("dp.change",function (e) {
$('.set-end-time').data("DateTimePicker").setMinDate(e.date);
});
$('.set-end-time').on("dp.change",function (e) {
$('.set-start-time').data("DateTimePicker").setMaxDate(e.date);
var now = $('.set-start-time').data('DateTimePicker').getDate().toLocaleString();
var then = $('.set-end-time').data('DateTimePicker').getDate().toLocaleString();
console.log(moment.utc(moment(then,"DD/MM/YYYY HH:mm:ss").diff(moment(now,"DD/MM/YYYY HH:mm:ss"))).format("HH:mm:ss"));
//Output here come in format ex. 02:42:33
});
这件事可能已经太晚了,但也许像这样的事情会有所帮助: tl;dr 一旦您有了差异:
function zeroPad(num, places) {
var zero = places - num.toString().length + 1;
return Array(+(zero > 0 && zero)).join("0") + num;
}
function diffAsString(diff_ms) {
var hours = Math.floor(diff_ms / 3600000);
diff_ms -= (hours * 3600000);
var minutes = Math.floor(diff_ms / 60000);
diff_ms -= (minutes * 60000);
var seconds = Math.floor(diff_ms / 1000);
return zeroPad(hours, 2) + ':' + zeroPad(minutes, 2) + ':' + zeroPad(seconds, 2);
}