Javascript 如何使用moment JS从开始日期和结束日期获取周数

Javascript 如何使用moment JS从开始日期和结束日期获取周数,javascript,momentjs,Javascript,Momentjs,如何使用moment JS从开始日期和结束日期获取周数。然后我想把它放入一个数组中。如果一周超过一周,我想这样显示constresult=[1,2,3] const dateStart = moment(1517812701107).format('DD-MM-YYYY'); const dateEnd = moment(1518331101107).format('DD-MM-YYYY'); 从这个开始日期和结束日期开始,我需要获取星期数组的数字。有没有可能在瞬间JS.你可以试试diff函数

如何使用moment JS从开始日期和结束日期获取周数。然后我想把它放入一个数组中。如果一周超过一周,我想这样显示
constresult=[1,2,3]

const dateStart = moment(1517812701107).format('DD-MM-YYYY');
const dateEnd = moment(1518331101107).format('DD-MM-YYYY');

从这个开始日期和结束日期开始,我需要获取星期数组的数字。有没有可能在
瞬间
JS.

你可以试试diff函数,试试下面的代码。希望这有帮助

const dateStart = moment(1507812701107);
const dateEnd = moment(1518331101107);
const result = Array(dateEnd.diff(dateStart, 'week')).fill().map((e,i)=>i+1)

首先,您还不想格式化日期,或者您只需要一个字符串表示,而不是一个时刻实例。一旦解决了这个问题,就可以使用
diff

 const dateStart = moment(1517812701107);
 const dateEnd = moment(1518331101107);
 const weeksBetween = dateEnd.diff(dateStart, 'weeks');
至于将其转换为渐进数组,您可以简单地循环遍历结果:

 const result = []
 for (let i = 1; i <= weeksBetween; i++) {
   result.push(i)
 }
资料来源:

谢谢您的回复。为我抛出一个错误
dateEnd.diff不是一个函数
你的周末是什么?确保它是力矩对象。remove.format('DD-MM-YYYY')我得到的是
result=[]
empty这是因为您的时间戳间隔不是一周。你必须有相隔数周的时间戳。试试我的例子我的一周从周一开始到周日结束,这意味着我的结果将是一对吗?谢谢你的回复。我尝试了上面的代码,但没有为memy week工作,从周一开始到周日结束,所以现在我的周数是1,我得到的是空数组
result=[]
这是因为不到一周的结果返回0。您可以将for循环更新为使用weeksBetween+1。这意味着8天将被视为2周,6天或更少将被视为1周。
 dateEnd.diff(dateStart, 'weeks', true); // 0.8571428571428571