javascript - NetSuite - 日期问题

标签 javascript netsuite suitescript

我的截止日期返回一个日期,而我的当前日期返回一个日期和时间。当尝试调用需要日期/时间的函数时,出现以下错误。如何构建包含时间的截止日期?

错误: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/

相关文章:

javascript - 从 NetSuite 客户端调用 CanadaPost

javascript - 提交时,将表单值存储在变量中,然后以第二个表单显示

javascript - 使用 angularjs 中的选项卡

javascript - 如何使用 fabric.js 加载 TIFF 图像?

netsuite - 使用 RESTlet 在 NetSuite 中支付发票(全额付款)

netsuite - 套件脚本 2.0 : How can I update the externalID through Script

javascript - 在 JavaScript 中对数组对象进行排序

javascript - NetSuite Suitelet SSv2 如何使用对象填充多选

javascript - 如何在 netsuite 中使用 suitescript 创建自定义记录?

javascript - Suitescript 1.0 - 获取销售订单中的行项目单位