Google应用脚本if语句出错

时间:2015-03-18 13:15:12

标签: 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 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);
    }

  }

你可以看到它显然还没有完成,我的问题是;为什么以下if语句不起作用?

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

当我记录变量时,记录器会说:

[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语句不起作用?

1 个答案:

答案 0 :(得分:0)

答案很简单..

DateToCheckAfter是一个Date对象,dataCheck是一个字符串

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

修正了它