我的截止日期返回一个日期,而我的当前日期返回一个日期和时间。当尝试调用需要日期/时间的函数时,出现以下错误。如何构建包含时间的截止日期?
错误:due_date.getTime 不是函数
var current_date = nlapiDateToString(new Date(), 'datetime')
var dd = nlapiGetFieldValue('duedate');
var due_date = nlapiDateToString(new Date(), 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;
}
最佳答案
问题是您正在尝试对字符串运行日期函数。您可以使用 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”
关于javascript - NetSuite - 日期问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39038019/