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
Google脚本Javascript日期错误_Javascript_Date_Google Apps Script_Google Sheets - Fatal编程技术网

Google脚本Javascript日期错误

Google脚本Javascript日期错误,javascript,date,google-apps-script,google-sheets,Javascript,Date,Google Apps Script,Google Sheets,我编写了一个短信软件,当一个数字收到一条短信时,它会将日期和其他信息写入谷歌电子表格。日期是这个问题的主要主题。短信信息被写入谷歌电子表格。我有另一个电子表格,当短信号码收到某个输入时,它会被写入。当日期的月份发生变化时,我希望新的电子表格在月份记录中创建一个中断,并为新月份创建一个标题。为了写入新的电子表格而不覆盖旧条目,我使用了以下功能: var getFirstEmptyRowWholeRowInPaymentSheet = function() { var sheet = Sprea

我编写了一个短信软件,当一个数字收到一条短信时,它会将日期和其他信息写入谷歌电子表格。日期是这个问题的主要主题。短信信息被写入谷歌电子表格。我有另一个电子表格,当短信号码收到某个输入时,它会被写入。当日期的月份发生变化时,我希望新的电子表格在月份记录中创建一个中断,并为新月份创建一个标题。为了写入新的电子表格而不覆盖旧条目,我使用了以下功能:

var getFirstEmptyRowWholeRowInPaymentSheet = function() {
  var sheet = SpreadsheetApp.openById("Spreadsheet ID");
  var range = sheet.getDataRange();
  var values = range.getValues();
  var row = 0;
  for (var row=0; row<values.length; row++) {
    if (!values[row].join("")) break;
  }
  return (row+1);
}
这是日志的外观:

1: Final Row: 10
2: Final Row - 1: 9
3: Received Date: 1/6/2017 10:32:18
4: Previous Date: Sun Jan 01 2017 00:00:00 GMT-0800 (PST)
5: Previous previous date: undefined
6: Previous previous date: undefined
7: Previous previous date: undefined
8: Previous previous date: undefined
这是不正确的,之前的日期应为2017年6月1日10:17:47。有人能帮我理解为什么谷歌脚本默认为2017年1月1日00:00:00 GMT-0800(PST)?

使用
getValues()
(复数)而不是
getValue()
(单数)返回的是“矩形网格”(二维数组),而不是您想要的单个单元格值:

Logger.log(paymentData.getCell((finalRow-1),1).getValue());

哪里填充了
paymentData
数据?@Max如果你不介意,如果你接受了这个答案,你能把它标记为正确答案吗?很抱歉,反应太晚,你解决了我的问题!
Logger.log(paymentData.getCell((finalRow-1),1).getValue());