Javascript NetSuite-日期问题

Javascript NetSuite-日期问题,javascript,netsuite,suitescript,Javascript,Netsuite,Suitescript,我的到期日返回日期,而我的当前日期返回日期和时间。我在尝试调用需要日期/时间的函数时遇到以下错误。我如何构造我的到期日以包含时间 错误:due\u date.getTime不是函数 var current\u date=nlapiDateToString(新日期(),'datetime') var dd=nlapiGetFieldValue('duedate'); var到期日=nlapiDateToString(新日期(),dd) var逾期天数=逾期日期(当前日期、到期日期); 功能日期过

我的到期日返回日期,而我的当前日期返回日期和时间。我在尝试调用需要日期/时间的函数时遇到以下错误。我如何构造我的到期日以包含时间

错误:due\u date.getTime不是函数

var current\u date=nlapiDateToString(新日期(),'datetime')
var dd=nlapiGetFieldValue('duedate');
var到期日=nlapiDateToString(新日期(),dd)
var逾期天数=逾期日期(当前日期、到期日期);
功能日期过期(当前日期、到期日期){
var time_difference=Math.abs(due_date.getTime()-current_date.getTime());
var无逾期天数=Math.ceil(时差/(1000*3600*24));
警报(“逾期天数…”+逾期天数);
不退还逾期天数;

}
问题在于您试图在字符串上运行日期函数。使用nlapiDateToString()函数将日期设置为字符串。将它们包装在nlapiStringToDate()函数中,这将解决您遇到的问题。下面是使用您的代码的示例

var current_date=nlapiStringToDate(nlapiDateToString(new Date(),'datetime'));
var dd='7/19/2016';//nlapiGetFieldValue('duedate');
var due_date=nlapiStringToDate(dd);
var days_overdue=DateOverdue(current_date,due_date);

function DateOverdue(current_date,due_date){
  var time_difference=Math.abs(due_date.getTime()-current_date.getTime());
  var no_days_overdue_by=Math.ceil(time_difference/(1000*3600*24));
  alert("No of Days Overdue By... "+no_days_overdue_by);
  return no_days_overdue_by;
}

这将输出:“警告超过…32天的天数”

而代码现在起作用-似乎有一个奇怪的计算。因此,如果过期日期是8月17日,而今天的日期是19日,我希望我的函数返回2。相反,它返回3。当我在搜索中使用逾期天数字段时,我看到3。龚猜测逾期天数使用了两个不同的时区?这是很有可能的。如果我用这两个硬编码的日期运行它,我得到2。添加一些日志记录,看看它通过脚本显示了什么。这应该会给你答案。