Google Apps Script

【GAS】今日から「Nヶ月後の日付」「N日後の日付」を求める

GASのDateオブジェクトを使った日付処理のメモです。

請求書作成などに必要な「未来日付」の算出です!

今日の○ヶ月後は何月何日?○日後は何月何日?を計算します。

【基本】今日の「月」「日」を取得する

まずはDateオブジェクトの基本を確認しましょう。

・getMonthメソッド
→Dateオブジェクトの「月」を取得する(0-11)

・getDateメソッド
→Dateオブジェクトの「日」を取得する(1-31)

Dateオブジェクトの日付が「2019年10月19日」の場合の実行結果です。

※getMonthメソッドの戻り値は、「1月~12月」が「0~11」になります。「10月」の場合「9」が返ります。

今日からNヶ月後の日付を求める

今日から3ヶ月後の日付を求めます。

setMonthメソッド
→Dateオブジェクトの「月」を設定する

※「今年の1月」を【0】とした場合の「【n】ヶ月後」を設定します

まずはgetMonthメソッドで現在の「月」を取得します。上述のとおり「10月」なので「9」が返ります。

現在の「9」の「3ヶ月後」を求めたいので、「+3」します。これでDateオブジェクトの「月」が、現在の3ヶ月後になります。

※求めたい【n】ヶ月後の「n」を足すだけなので、「+6」とすれば、6ヶ月後の日付になります。

今日からN日後の日付を求める

次に「90日後の日付」を求めます。「3ヶ月後」と「90日後」は違いますからね。

・setDateメソッド
→Dateオブジェクトの「日」を設定する

※「今月の1日」を【0】とした場合の「【n】日後」を設定します

まずはgetDateメソッドで現在の「日」を取得します。Dateオブジェクトが「19日」なので「19」が返ります。

現在の「19」の「90日後」を求めたいので、「+90」します。これでDateオブジェクトの「日」が、現在の90日後になります。

【解説】※興味のある人向け

「今月の1日」を【0】とした場合の「【n】日後」を設定、とは?

Dateオブジェクトが「2019年10月19日」の場合、getDateメソッドの返り値は「19」です。(ここまでは単純ですね)

setDateメソッドの引数は、「19」+「90」の「109」になります。

つまり、

です。

setDateメソッドは、「今月の1日」を【0】とした場合の「【109】日後」を設定しています。

「今月の1日」=「2019年10月1日」なので、「2019年10月1日」の「109日後」である「2020年1月17日」になるという仕組みです。

ノンプログラマーがプログラミングを学ぶ理由

ノンプログラマーがプログラミングを使えるようになると、「仕事の幅」が広がります。

日常生活にたとえると「車の運転」のイメージです。

多くの人は、大人になると自動車教習所に通って、運転の練習をしますね。F1レーサーやタクシードライバーなどの「プロ」になるわけではないのに。

車の運転ができれば、遠いところへ、速く・ラクに移動できて「生活の幅」が広がるからです。

プログラミングができるようになれば、今の仕事を速く・ラクに片づけて、「仕事の幅」を広げることができます。

「プロ」を目指す必要はありません。今の仕事をより豊かにするための「手段」、それがプログラミングです。

1週間のオンライン無料体験
いつでもどこでも今すぐ視聴OK