在Google App脚本中比较Date对象

时间:2018-07-30 14:08:25

标签: javascript date gas

我的日期格式为23.2.2018。我用

创建一个新日期
var date = new Date(year, month, day)
// var date = new Date(year, month, day, 0,0,0,0,0)

(我也尝试添加毫秒)。

然后我比较两个相等的日期,GAS不断告诉我它们是不同的。

function arraysEqual(a, b) {
  if (a === b) return true;
  if (a == null || b == null) return false;
  if (a.length != b.length) return false;

  for (var i = 0; i < a.length; ++i) {
    Logger.log(a[i]);
    Logger.log(b[i]);
    Logger.log(a[i] !== b[i]);
    Logger.log("----------");
    if (a[i] != b[i]) return false;
  }
  return true;
}

这是日志

[18-07-30 16:03:51:425 CEST] Mon Jan 29 00:00:00 GMT+01:00 2018
[18-07-30 16:03:51:425 CEST] Mon Jan 29 00:00:00 GMT+01:00 2018
[18-07-30 16:03:51:426 CEST] true

我不明白,我检查类型,而且都是类型对象。

这是我从字符串转换日期的方式:

  var memoryFileArray = [];

  var i = 1;
  csvData.forEach(function(subArray) {
    if (i > 5 && subArray[0] != "Kontostand" ) {
      var stringDate = subArray[0];
      var year = stringDate.split(".")[2];
      var month = parseInt(stringDate.split(".")[1]) - 1;
      var day = stringDate.split(".")[0];
      var date = new Date(year, month, day, 0,0,0,0) <-----
      subArray[0] = date;
      subArray[15] = toEnglishNumber(subArray[15]);
      subArray[16] = toEnglishNumber(subArray[16])
      memoryFileArray.push(subArray);
      // outputSheet.appendRow(subArray);
    }
    i++;
  });

我可以将所有字段的数组作为字符串进行比较,但我仍然不明白为什么不能比较日期。

0 个答案:

没有答案