私は次のコードを持っています。指定された2つの日付間のすべてのGoogleカレンダーイベントを取得するAppsスクリプトです。 JavaScriptで今日の日付を参照するには?
// from https://blog.ouseful.info/2010/03/05/grabbing-google-calendar-event-details-into-a-spreadsheet/
function caltest3(){
//http://www.google.com/google-d-s/scripts/class_calendar.html#getEvents
// The code below will retrieve events between 2 dates for the user's default calendar and
// display the events the current spreadsheet
var cal = CalendarApp.getDefaultCalendar();
var sheet = SpreadsheetApp.getActiveSheet();
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();
var events = cal.getEvents(new Date("October 3, 2017 00:00:00"), new Date("October 3, 2017 23:00:00"));
for (var i=0;i<events.length;i++) {
//http://www.google.com/google-d-s/scripts/class_calendarevent.html
var details=[[events[i].getStartTime(), events[i].getEndTime(), events[i].getTitle(), events[i].getDescription()]];
var row=i+1;
var range=sheet.getRange(row,1,1,4);
range.setValues(details);
}
}
は現在、これらの二つの日付は
events
が宣言されている行に、ハードコーディングされています。私は日付範囲を同じ日付として設定し、最初の23時間に焦点を当てています。
しかし、スクリプトが毎日実行されるため、2つの日付をハードコードすることはできません。これらはそれぞれ現在の日付を反映して動的でなければなりません。
ハードコードされた日付の代わりに、ハードコードされた時間を保持しながら、現在の日付を「2017年10月3日」の形式で使用するにはどうすればよいですか?
はい、私は調査してDate objectについて読んでいますが、正しい表現を調理することはできません。余分な情報があれば、私はそれをもっと学ぶのに役立ちます。
これはうまくいきましたが、 '+ 1 'を取り除いたときに限ります。 –
+ 1を追加しないと、月が間違っています。月は0です。 –
いいえ、@ RobertAndrewsは、月がゼロであり、getMonth()の結果とDateコンストラクタの予想されるパラメータとしてインデックス付けされているため正確です。 –