我的日期范围是
var currDay = Jan.1
var birthday = Feb.15
我知道找到周数的差异是
currDay.diff(birthday, 'week')
但是,有没有办法找到完整的周数和剩余的天数?
最佳答案
您可以使用 duration
.
用这个可以得到年、月(不包括年)和日(不包括年、月)。唯一的问题是周数是使用天数计算的,因此如果您要获得周数,您仍然需要获得天数的余数。
来自 momentjs docs :
Pay attention that unlike the other getters for duration, weeks are counted as a subset of the days, and are not taken off the days count.
注意:如果您想要总周数,请使用 asWeeks()
而不是 weeks()
var currDay = moment("2018-01-01");
var birthday = moment("2018-02-16");
var diff = moment.duration(birthday.diff(currDay));
console.log(diff.months() + " months, " + diff.weeks() + " weeks, " + diff.days()%7 + " days.");
console.log(Math.floor(diff.asWeeks()) + " weeks, " + diff.days()%7 + " days.");
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.21.0/moment.min.js"></script>
关于javascript - 使用 moment.js 查找日期范围之间的完整周数和天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49423221/