如何使用片刻JS从开始日期和结束日期获得周数

时间:2018-02-08 16:54:13

标签: javascript momentjs

如何使用片刻JS从开始日期和结束日期获取周数。然后我想将它推入一个数组。如果一周超过一周,我想显示如下const result = [1, 2, 3];

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

从这个开始日期和结束日期开始,我需要获取周数组的数字。是否有可能在moment JS。

2 个答案:

答案 0 :(得分: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)
 }

您提供的时间戳相隔不到一周,结果为0。如果您的目标是找到确切的比率,请为第三个变量添加浮点标记:

 dateEnd.diff(dateStart, 'weeks', true); // 0.8571428571428571

来源: https://momentjs.com/docs/#/displaying/difference/

答案 1 :(得分:0)

您可以尝试diff功能,请尝试以下代码。希望这会有所帮助。

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