在循环 netsuite 脚本中添加日期

Add Dates in a loop netsuite scripting

我正在尝试通过在循环中使用 nlapiAddDays() 添加更多天数来打印日期

var startdate = nlapiGetLineItemValue('item','custcol_startdt',i+1);
var enddate = nlapiGetLineItemValue('item','custcol_enddt',i+1);

var stringtodate1 = nlapiStringToDate(startdate);
var stringtodate2 = nlapiStringToDate(enddate);

//BELOW FORMULA I USED TO GET NUMBER OF MONTHS BETWEEN TWO DATES
var diff =(stringtodate2.getTime() - stringtodate1.getTime()) / 1000;
var diffMonths = Math.ceil(diff / (60 * 60 * 24 * 7 * 4)-1);

if(diffMonths > 1)
{
  for(i=0; i <= diffMonths; i++)
  { var AddDays = 30;
    var days = null;    
    if(i == 0)  
    {     
       days = stringtodate1;    
    }
     else
           {
            days = nlapiAddDays(stringtodate1, AddDays);
           }
  }
    nlapiLogExecution('DEBUG','days',days);
    AddDays++;
}

在这里,如果我变成 1,30 天,但当我变成 2 时,应该添加 60 天,因为 AddDays++ 但它没有发生。每个循环添加 30 天。

您正在将循环顶部的 AddDays 重置为 30。你需要:

 var AddDays = 30;
 for(i=0; i <= diffMonths; i++)
 { ...