Javascript TypeError:无法调用方法";getDay";未定义的

Javascript TypeError:无法调用方法";getDay";未定义的,javascript,Javascript,我跳进了一个已经工作了一年多的脚本,现在它已经开始发布TypeError:cannotcallmethod“getDay”of undefined 我认为这是导致问题的功能-但不确定如何解决: function businessDaysBetween(startDate, endDate) { var dayDiff = endDate.getDay() - startDate.getDay(); if (dayDiff < 0) { dayDiff = 5 + dayD

我跳进了一个已经工作了一年多的脚本,现在它已经开始发布TypeError:cannotcallmethod“getDay”of undefined

我认为这是导致问题的功能-但不确定如何解决:

function businessDaysBetween(startDate, endDate) {
  var dayDiff = endDate.getDay() - startDate.getDay();

  if (dayDiff < 0) {
    dayDiff = 5 + dayDiff;
  }

  return Math.floor((((endDate.getTime() - startDate.getTime())/1000/60/60/24/7) * 5) + dayDiff);
}
函数businessDaysBetween(开始日期、结束日期){
var dayDiff=endDate.getDay()-startDate.getDay();
if(dayDiff<0){
dayDiff=5+dayDiff;
}
返回Math.floor(((endDate.getTime()-startDate.getTime())/1000/60/60/24/7)*5)+dayDiff);
}

函数sendRememberEmail(){
试一试{
//打开谷歌电子表格“新员工-通知”,并检索“新员工”表
var电子表格=SpreadsheetApp.openById(“已识别”);
var sheet=电子表格.getSheetByName(“新员工”);
}
捕获(e)
{
msgBox(e.message);
}
var rows=sheet.getLastRow();
var currentDate=新日期();
//遍历行
对于(变量i=2;i=3){
var noOfReminders=sheet.getRange(i,14).getValue();
//根据收到的提醒数量发送适当的电子邮件
if(noOfReminders==0){
第一次提醒(i);
}
else if(noOfReminders==1){
第二(一)款;
}
else if(noOfReminders==2){
发送通知(i);
}
}
}  
}
}


可能是var currentDate=new Date()

确保startDate和endDate的类型为DateHi,是否可以包含调用businessDaysBetween方法的代码?可能是startDate或endDate未定义,这可能是因为它们是用无效的日期字符串初始化的,如果是这样的话;它不是
var currentDate=new Date(),工作正常。功能也很好。几乎可以肯定这是
var-rementerDate=sheet.getRange(i,13).getValue()。Do
console.log(typeof(提醒日期))并查看您得到了什么。谢谢-我还没有使用console.log-应该在脚本中的什么位置
function sendReminderEmail() {
  try {
    //Open Google spreadsheet "New Hire - Notification", and retrieve "New Hire" sheet
    var spreadsheet = SpreadsheetApp.openById("is identified");
    var sheet = spreadsheet.getSheetByName("New Hire");
  }
  catch (e)
  {
    Browser.msgBox(e.message);
  }
  var rows = sheet.getLastRow();
  var currentDate = new Date(); 

  //Iterate through rows
  for (var i = 2; i <= rows; i++) {
    var hrngMgrComplete = sheet.getRange(i, sheet.getLastColumn());
    //Check if hiring manager has completed details form
    if (hrngMgrComplete.getValue() != "Yes") {
      var reminderDate = sheet.getRange(i, 13).getValue();
      var days = businessDaysBetween(reminderDate, currentDate);
      //check if last reminder was sent earlier than 3 business days or more 
      //from today.
      if (days >= 3) {
        var noOfReminders = sheet.getRange(i, 14).getValue();
        //Send appropriate email based on how many reminders have been received
        if (noOfReminders == 0) {
          sendFirstReminder(i);
        }
        else if (noOfReminders == 1) {
          sendSecondReminder(i);
        }
        else if (noOfReminders == 2) {
          sendHRNotification(i);
        }
      }
    }  
  }
}