【发布时间】:2018-07-29 17:11:11
【问题描述】:
我正在使用 Google 脚本,这是我的问题。
我正在尝试将今天的日期与电子表格 C 列中输入的日期进行比较。我拥有的代码似乎应该可以工作,但是当我使用记录器查看它给我的日期时,它给了我“Wed Dec 31 19:00:00 GMT-05:00 1969”而不是 2018-07-29 1:00 PM。
我知道我需要使用 Utilities.formatDate 来比较它们,但我似乎不明白为什么它没有在 C 列中提取日期。
下面是我的代码:
function sendEmail() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 3; // First row of data to process
var numRows = sheet.getLastRow()-1; // Number of rows to process
// Fetch the range of cells A2:B3
var dataRange = sheet.getRange(startRow, 1, numRows, sheet.getLastColumn());
// Fetch values for each row in the Range.
var data = dataRange.getValues();
//Logger.log(data); // give you the data you are looking at comparing
for (var i in data) {
var row = data[i];
var date = new Date();
//Logger.log(date); // sets to todays date and time.
var sheetDate = new Date(row[3]);
Logger.log(sheetDate); // date in the row you are comparing
【问题讨论】:
-
请给两个 Logger 项目,并标记它们 //Logger.log(data);和 Logger.log(sheetDate);也做 Logger.log(i) 看看它的价值
-
您获得此值是因为 row[3] 为空或无效日期。单元格是否包含日期?双击它会显示日历吗?顺便说一句,关于必须使用 Utilities.formatDate 来比较日期的断言是不正确的,还有很多其他方法可以去......
-
谢谢大家的好建议。我知道我哪里错了。迭戈是正确的,我不得不使用行[2]。我还为 i 添加了一个记录器,我得到了我需要的东西。非常感谢。
标签: date google-apps-script google-sheets