我的日期格式为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++;
});
我可以将所有字段的数组作为字符串进行比较,但我仍然不明白为什么不能比较日期。