Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌应用程序脚本如果语句出错_Javascript_Google Apps Script - Fatal编程技术网

Javascript 谷歌应用程序脚本如果语句出错

Javascript 谷歌应用程序脚本如果语句出错,javascript,google-apps-script,Javascript,Google Apps Script,所以,我目前正在尝试检查我的Google电子表格单元格中的日期是否与我从HTML文档中获取的日期匹配。以下是我使用的函数: for (var i=0; i < data.length; i++) { var testDate = subDaysFromDate(data[i][0],1) var DateToCheck = Utilities.formatDate(testDate, "GMT", "dd-MM-yyyy"); var DateToCheckBefor

所以,我目前正在尝试检查我的Google电子表格单元格中的日期是否与我从HTML文档中获取的日期匹配。以下是我使用的函数:

 for (var i=0; i < data.length; i++) {
   var testDate =  subDaysFromDate(data[i][0],1)
   var DateToCheck = Utilities.formatDate(testDate, "GMT", "dd-MM-yyyy");
   var DateToCheckBefore = DateToCheck.split("-");
   var DateToCheckAfter = new Date(DateToCheckBefore[2], DateToCheckBefore[1]-1, DateToCheckBefore[0]); //dit is de datum van een row

   var d1 = $d1.split("-");
   var d2 = $d2.split("-");

   var from = new Date(d1[0], d1[1]-1, d1[2]);  // -1 because months are from 0 to 11
   var to   = new Date(d2[0], d2[1]-1, d2[2]);

    if(DateToCheckAfter >= from && DateToCheckAfter <= to){
      var dataCheck = sheet.getRange("T2").getValue();

      if(DateToCheckAfter == dataCheck){
       Browser.msgBox('9 march?!', Browser.Buttons.OK);
      }

      Logger.log(dataCheck);
      Logger.log(DateToCheckAfter);
    }

  }
当我记录变量时,记录器显示:

[15-03-18 14:06:33:227 CET] Mon Mar 09 00:00:00 GMT+01:00 2015
[15-03-18 14:06:33:228 CET] Mon Mar 09 00:00:00 GMT+01:00 2015

那么为什么我的if语句不起作用呢?

答案很简单

DateToCheckAfter是一个日期对象,dataCheck是一个字符串

if(DateToCheckAfter.toString() == dataCheck)
{
  Browser.msgBox('9 march?!', Browser.Buttons.OK);
}

修复了它

例如:var date1=new Date();var date2=新日期(date1);date1==date2为false。如果执行date1.getTime()==date2.getTime(),则得到true。不需要转换为字符串,然后再转换为日期。227!=这是其中的一部分
if(DateToCheckAfter.toString() == dataCheck)
{
  Browser.msgBox('9 march?!', Browser.Buttons.OK);
}