0

(私が想定しているのは) Google App Scripts のバグに関する問題をオープンしましたが、監視されているようには見えないので、誰かが私の問題を回避できるかどうか疑問に思っています。

要約すると、作成した Google カレンダーにエントリを入力しようとするスクリプトを (Google スプレッドシート経由で) 実行しています。

function testCalendarAllDayEvent(){
  var calendar = CalendarApp.getCalendarById("od4434jhedv936p65gcbl3bjg@group.calendar.google.com");
  var calTimezone = calendar.getTimeZone();
  var scriptTimezone = Session.getTimeZone();
  var calendarevent = calendar.createAllDayEvent("Test Event", new Date(2011,7,1));
  var summary = calendarevent.getStartTime();
}

したがって、上記のコードは、7 月 1 日ではなく 2011 年 7 月 31 日に「テスト イベント」を追加します。に変更すると new Date (2011,7,2)、2011 年 8 月 1 日になります。タイムゾーンを調べて、それらが同じであることを確認する理由. summary変数値を見ると、Mon Aug 01 2011 01:00:00 GMT+0100 (IST)

盲目的にすべての日付に 30 日を追加したくありません。私がやっていることが間違っているかどうか誰にも分かりますか? Google の例をテンプレートとして使用しました。

4

1 に答える 1

0

ここでの問題は、Date コンストラクターがゼロから始まる月のインデックスを取ることです。そう

new Date(2011,7,1)2011 年 8 月 1 日の日付を作成します。

一方

new Date(2011,6,1)2011 年 7 月 1 日の日付を作成します。

于 2011-08-22T18:54:49.490 に答える