我有一個 Google Apps 腳本函式,當從編輯器運行和在時間驅動腳本中運行時,它的解釋似乎不同。當作為預定腳本運行時,它回傳以下錯誤,坦率地說我不明白為什么。 錯誤例外:無效引數:yyyy-MM-dd'T'[object Object]:00Z at isBetweenTimeWithTz(Code:24:24)
從編輯器運行該函式時,我會得到我期望的輸出,例如 0 '2022-01-13T00:50:00 0100' '2022-01-13T01:30:00 0100' Wed Jan 12 2022 18 :50:00 GMT-0500(東部標準時間)2022 年 1 月 12 日星期三 19:30:00 GMT-0500(東部標準時間)。
function isBetweenTimeWithTz(from_t="00:50", to_t="01:30", tz="Europe/Prague"){
now = new Date();
from_str = Utilities.formatDate(now, tz, `yyyy-MM-dd'T'${from_t}:00Z`);
to_str = Utilities.formatDate(now, tz, `yyyy-MM-dd'T'${to_t}:00Z`);
from_dt = new Date(from_str);
to_dt = new Date(to_str);
is_between = from_dt <= now & now <= to_dt;
console.log(is_between, from_str, to_str, from_dt, to_dt);
return is_between;
}
對于調度,我使用這個函式:
function createTimeDrivenTriggers() {
ScriptApp.newTrigger('isBetweenTimeWithTz')
.timeBased()
.everyMinutes(1)
.create();
console.log("Trigger triggered");
}
uj5u.com熱心網友回復:
我在列印引數時注意到的不同之處在于,時間驅動腳本中的第一個引數被以下內容覆寫:
{authMode=FULL, second=3.0, triggerUid=2100292014431267688, minute=24.0, timezone=UTC, hour=16.0, day-of-month=13.0, day-of-week=4.0, week-of-year=2.0, month=1.0, year=2022.0}
為避免第一個引數被覆寫,您可以添加一個包含上述值的占位符引數。
修改:
function isBetweenTimeWithTz(placeholder="", from_t="00:50", to_t="01:30", tz="Europe/Prague"){
輸出:

uj5u.com熱心網友回復:
所有觸發的函式都傳遞了一個event引數,如此處所述:
當觸發器觸發時,Apps 腳本將事件物件作為引數傳遞給函式,通常稱為
e
在觸發器執行中使用來自該引數的資料有時很有用。 定時觸發器的事件物件包含有關觸發器啟動時間的資料。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/410685.html
標籤:
