Google Apps Script ~日付の操作~

Google Apps Script

こんにちは、ばばーるです。

前回は今日の日付を取得する方法をご紹介しました。

今回は日付を操作する方法をご紹介します。

スポンサーリンク

日付の操作

たぬきさん
たぬきさん

今日の日付とかもいいんだけどさ
3日後とか1か月後とかの日付とか使いたいんだけど。

GAS
GAS

こんな感じでできるよ。

1. setDate()

function myFunction() {
  const today = new Date();
  const tomorrow = new Date(today.setDate(today.getDate() + 1));
 //2行目
  console.log(new Date(), tomorrow);
}

この場合のログは12月30日と12月31日になり1日後の同時刻の値を出力しました。

ログ出力

  • Wed Dec 30 2020 19:12:20 GMT+0900 (日本標準時)
  • Thu Dec 31 2020 19:12:20 GMT+0900 (日本標準時)

2行目の処理を詳しく書いていきます。

  1. today.getDate() + 1:まずはtoday.getDate()で30を取り出して1を足すことで31にします。
  2. today.setDate():先ほどの31をsetDate()で今日の日付に入力します。
  3. new Date(): このままだと、日付のフォーマットではなく数字です出力されしまうので、new Date()で日付フォーマットにします。

※月をまたぐ場合は日付を自動で調整します。例えば、今回の30に2を足した場合は1月1日を出力します。

2. setMonth()

function myFunction() {
  const today = new Date();
  const twomonthlater = new Date(today.setMonth(today.getMonth() + 1));
  console.log(new Date(), twomonthlater);
}

1カ月後の1月30日が出力されます。

  • Wed Dec 30 2020 19:36:21 GMT+0900 (日本標準時)
  • Sat Jan 30 2021 19:36:21 GMT+0900 (日本標準時)

※2か月後にすると3月2日が出力されるので、+1は30日カウントとなります。

3. setFullYear()

function myFunction() {
  const today = new Date();
  const oneyearlater = new Date(today.setFullYear(today.getFullYear() + 1));
  console.log(new Date(), oneyearlater);
}

1年後の12月30日が出力されます。

  • Wed Dec 30 2020 19:46:02 GMT+0900 (日本標準時)
  • Thu Dec 30 2021 19:46:02 GMT+0900 (日本標準時)

※365日カウントしているわけではないので、うるう年を含んでも日付が1日ずれることは、2月29日を除いてありません。2月29日に1年加えて出力すると3月1日となります。

まとめ

今回は日付を操作する方法をご紹介しました。

  • getDate()/Month()/FullYear() ± で年月日を調整
  • setDate()/Month()/FullYear()で 調整した日程を入力
  • new Date()で日付の形式に変換

タイトルとURLをコピーしました