因此,在提交表單時,我得到了一個時間戳,如下所示:
"values":["2/18/2022 14:11:25"]
然后我需要將它與電子表格上的比較,以便我可以為相鄰列設定一個數字。然后,我正在使用下面的代碼,但在 ```Utilities.formatDate()`` 上遇到錯誤
代碼:
function onSubmit(e) {
Logger.log("%s", JSON.stringify(e));
const timeStamp = e.values[0]
const formRespSheet = e.source.getSheetByName('Form Responses 1')
var maxNumber = Math.max.apply(null, formRespSheet.getRange(2, 14, formRespSheet.getLastRow(), 1).getValues());
maxNumber = maxNumber 1
Utilities.sleep(1000);//Tried it
const allTimeStamps = formRespSheet.getRange(2, 1, formRespSheet.getLastRow(), 1).getValues();
for (let a = 0; a < allTimeStamps.length; a ) {
let sheetTimeStamp = allTimeStamps[a]
sheetTimeStamp = Utilities.formatDate(sheetTimeStamp, Session.getTimeZone(), "MM/dd/yyyy HH:mm:ss")
if (sheetTimeStamp.valueOf() == timeStamp.valueOf()) {
const row = a 1
formRespSheet.getRange(row, 14).setValue(maxNumber)
}
}
}
錯誤說:
The parameters (number[],String,String) don't match the method signature for Utilities.formatDate.
謝謝你的幫助。
uj5u.com熱心網友回復:
Google 電子表格有一個非常適合比較的 Date 物件。我總是并且不明白為什么每個人都不將一個或多個單元格的數字格式設定為日期。這樣我就可以比較日期、減去日期等。現在,我知道時間間隔,但一個簡單的函式可以緩解這個問題,我有一個電子表格,其中有兩個日期相同但時間不同的日期。所以我可以比較它們是否是同一天。
function test() {
try {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2");
var range = sheet.getRange("B1:B2");
var values = range.getValues();
function removeTime( value ) {
var temp = value[0];
value[0] = new Date(temp.getFullYear(),temp.getMonth(),temp.getDate());
};
console.log( new Date(values[0][0]) );
console.log( new Date(values[1][0]) );
console.log(values[0][0].valueOf() === values[1][0].valueOf());
values.forEach( removeTime );
console.log( new Date(values[0][0]) );
console.log( new Date(values[1][0]) );
console.log(values[0][0].valueOf() === values[1][0].valueOf());
}
catch(err) {
console.log(err);
}
}
9:15:47 AM Notice Execution started
9:15:47 AM Info Fri Feb 18 2022 11:53:45 GMT-0500 (Eastern Standard Time)
9:15:47 AM Info Fri Feb 18 2022 11:54:16 GMT-0500 (Eastern Standard Time)
9:15:47 AM Info false
9:15:47 AM Info Fri Feb 18 2022 00:00:00 GMT-0500 (Eastern Standard Time)
9:15:47 AM Info Fri Feb 18 2022 00:00:00 GMT-0500 (Eastern Standard Time)
9:15:47 AM Info true
9:15:48 AM Notice Execution completed
uj5u.com熱心網友回復:
sheetTimeStamp = Utilities.formatDate(sheetTimeStamp, Session.getTimeZone(), "MM/dd/yyyy HH:mm:ss")
變成:
sheetTimeStamp = Utilities.formatDate(new Date(sheetTimeStamp), Session.getTimeZone(), "MM/dd/yyyy HH:mm:ss")
它應該作業
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/428177.html
