【问题标题】:Even the date values are same, but fail to get logger [duplicate]即使日期值相同,但无法获取记录器 [重复]
【发布时间】:2021-03-28 23:15:47
【问题描述】:

我只是遇到了一些奇怪的事情......但无法真正找到原因...... 我使用了谷歌应用程序脚本并尝试使用 for() 和 if() 来比较这些值。 奇怪的是..即使我使用的代码相同,结果却不同。

比较 B 列时我得到了四个“A”,但比较 D 列时没有结果(日志)..

为了更好地理解,我将数据捕获和我的代码放在下面。 谁能帮我解决这个问题?

function leaveM(){

var log = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('abc');

//get 'B' column's last text value
var name = log.getRange(log.getLastRow(),2).getValue();

//get 'D' column's last date value
var addDate = log.getRange(log.getLastRow(),4).getValue();

var data = log.getDataRange().getValues();

for(var u=1; u<data.length; u++){

   if(data[u][1] == name){

     Logger.log(data[u][1]);

}

}

for(var u=1; u<data.length; u++){

  if( data[u][3] == addDate){

    Logger.log(data[u][3]);

  }
  }
}

【问题讨论】:

    标签: google-apps-script


    【解决方案1】:

    这是因为您正在比较两个日期对象。这在许多帖子中都有介绍 JavaScript Date Comparisons Don't Equal

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多