创建日期数组以用于将来的付款

时间:2018-11-07 15:30:25

标签: javascript

我有3个约会: 现在的日期= 11/7/2018

开始日期= 2018/11/14

结束日期= 2019/11/13

付款是每3个月一次。如果付款方式为“预付款”,则租金应于14日支付。

Advance

Array = [8,89,92,92]

如果付款类型=“欠款”,则应在13号支付租金。

由于开始日期为11/14,所以付款日期为2/13 / 2019、5 / 13 / 2019、8 / 13/2019和11/13/2019。

example

 Array = [99,88,91,91]

我需要创建一个从当前日期到首次付款日期之间的天数数组。我试过的:

const start = "11/14/2018";
const end = "05/13/2021 ";

const dates = [];

const mstart = moment(start, "MM/DD/YYYY");
const mend = moment(end, "MM/DD/YYYY");


    for (var i = 0; mstart <= mend; i++) {
    if (selectedPayType === "A") {
    let Q = mstart.clone();
    mstart.add(3, 'months');
    const daysInMonth = mstart.diff(Q, 'days');
    dates.push(daysInMonth);
    }
        if (selectedPayType === "B") {
     //code goes here....
    }
    console.log(dates);

我对第二部分感到困惑,不知道如何定义。任何帮助表示赞赏。谢谢。

1 个答案:

答案 0 :(得分:0)

我按照以下方式进行操作,因为日期总是从现在起3个月,所以在日期前加上3个月。

 if (selectedPayType === "B") {
             startDateC.add(3, 'months');
             startDateC.subtract(1,'days');
             var futureLease = startDateC.diff(presentDateC, 'days');
             array.unshift(futureLease);
             for (var i = 1; i < array.length; i++) {
                 (array[i] += array[i - 1]);
             }
          console.log(array);
         }