Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date 从电子表格中提取日期时遇到问题_Date_Google Apps Script_Google Sheets - Fatal编程技术网

Date 从电子表格中提取日期时遇到问题

Date 从电子表格中提取日期时遇到问题,date,google-apps-script,google-sheets,Date,Google Apps Script,Google Sheets,我正在使用谷歌脚本,这是我的问题 我试图将今天的日期与电子表格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.g

我正在使用谷歌脚本,这是我的问题

我试图将今天的日期与电子表格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

您没有查看C列中的值。该方法返回一个二维数组,然后。这意味着您在定义
sheetDate
时应该使用2(而不是3)

var sheetDate = new Date(row[2]);

如评论中所述,您不需要使用
实用程序.formatDate()
,但这是一个单独的问题。在将值转换为日期之前,我还会尝试记录该值(例如,
Logger.log(第[2]行))

请给出这两个记录器项目,并将它们标记为//Logger.log(数据);和Logger.log(sheetDate);还要执行Logger.log(i)以查看其值,因为第[3]行为空或不是有效日期,所以您可以获得此值。单元格是否包含日期?当你双击它时,它会显示日历吗?顺便说一句,关于必须使用Utilities.formatDate来比较日期的断言是不正确的,还有很多其他方法……感谢大家提出的宝贵建议。我知道我错在哪里了。Dieogo是正确的,我必须使用行[2]。我还为我添加了一个记录器,我得到了我所需要的。非常感谢。