Javascript 如何使用moment JS从开始日期和结束日期获取周数
如何使用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函数
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