0

コードを実行すると、以下のエラーメッセージが表示されます。私の意図が正確な時刻にトリガを作成することである2017年4月3日20:10GASを使用して特定の時刻にトリガーを実行しているときにエラーが発生しました

ScriptApp.newTrigger('myfunction').timeBased().atDate(2017,04,03).atHour(20).nearMinute(10).create(); 

ログイン

[17-04-02 20:16:53:455 IST] TriggerBuilder.timeBased() [0 seconds] 
[17-04-02 20:16:53:456 IST] ClockTriggerBuilder.atDate([2017, 4, 3]) [0 seconds] 
[17-04-02 20:16:53:456 IST] ClockTriggerBuilder.atHour([20]) [0 seconds] 
[17-04-02 20:16:53:461 IST] Execution failed: Error: Already chosen a specific date time with at() or atDate(). (line 109, file "Code") [11.583 seconds total runtime] 
+0

私はこれを見つけました[リンク](http://stackoverflow.com/questions/30561061/trigger-every-14-days-starting-on-a-specific-date)。私は複数のat節を使うことはできないと思います。 – Cooper

+0

つまり、日付付きのトリガーを作成することはできません。私が日付を指定すると、それは真夜中にトリガーされることを意味しますか? –

+0

私は別のトリガーを作成する別のスクリプトを実行するトリガーを作成することができたと思います。しかし、私はサンディがそれについて間違っていると思っていますが、私は疑いがあります。 – Cooper

答えて

2

次に、新しい使用し、特定の日付と時刻を使用して新しいDateオブジェクトを作成することができますtrigger().At(date) 、atDate()と混同しないで、その日時にトリガーを作成する関数。

var dt = new Date(2017,03,03,20,10) 
//Month index starts from 0 i.e. Jan =0,Feb=1... So on 
ScriptApp.newTrigger('myFunction').timeBased().at(dt).create() 

希望します。

+0

ありがとう@ジャックブラウン。トリガーがエラーなしで作成されているかどうかをプログラムで知りたいのですが、私は2017,02,31,20,17としてtrigを作成しますが、日付は間違っていません。 –

+0

実際には(2017,02,31,20,17)は3月31日で、有効な日付です。 2月の場合、この新しいDate(2017,01,31,20,17)が自動的に2017-03-03 20:17の次の日付に設定されます。あなたは[こちら](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#Parameters)について読むことができます。 date関数で入力した値がgetFullYear()、getMonth()、getDay()などを使って作成された値と一致するかどうかをプログラムで判断する必要があります。 –

関連する問題