我需要找出一个可读的间隔时间。这是我的带有时间戳示例的代码:
let startDT = 1542621271554; // GMT: Monday, 19 November 2018 09:54:31.554
let endDT = 1545606452513; // GMT: Sunday, 23 December 2018 23:07:32.513
let interval = moment.duration(endDT - startDT);
alert(
interval.days() +
"d" +
interval.hours() +
"h" +
interval.minutes() +
"m" +
interval.seconds() +
"s"
);
我得到以下结果:3d13h13m0s
我希望获得间隔的总天数(不考虑月份或年份)。在我的示例中,34d13h13m0s
我如何做到这一点?
答案 0 :(得分:1)
您可以使用moment.js的duration().asDays()
函数。 Math.floor
从持续时间中删除部分时间(小时,分钟和秒)。
let startDT = 1542621271554; // GMT: Monday, 19 November 2018 09:54:31.554
let endDT = 1545606452513; // GMT: Sunday, 23 December 2018 23:07:32.513
let interval = moment.duration(endDT - startDT);
alert(
Math.floor(interval.asDays()) +
"d" +
interval.hours() +
"h" +
interval.minutes() +
"m" +
interval.seconds() +
"s"
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
答案 1 :(得分:0)
我很快就做到了
let startDT = 1542621271554;
let endDT = 1545606452513;
let daysDiff = parseInt( (endDT-startDT) / (24*60*60*1000) );
console.log('Days:', daysDiff);
alert('Days: '+daysDiff);
答案 2 :(得分:0)
根据您的评论中的建议,只需使用asDays或根据另一个答案提到的方法手动进行计算。这个问题显示了您自己提出答案的绝对最小的努力。
let startDT = 1542621271554; // GMT: Monday, 19 November 2018 09:54:31.554
let endDT = 1545606452513; // GMT: Sunday, 23 December 2018 23:07:32.513
let interval = moment.duration(endDT - startDT);
alert(
interval.asDays()
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>