GASで今日の日付(曜日)を取得する方法(Date.getDayメソッド)
Google Apps Script(GAS)では今日の日付を取得したいシーンが多いです。
そこで、GASで実行した今日の日付を取得する方法を解説します。
GASの処理で実行当日を取得
Google Apps Script(GAS)はサーバレスのスクリプトサービスで、様々な自動化処理を行います。
GASの処理の中で「今日」の日付を取得したいケースが出てきます。
例えば、レポートなどに今日の日付を指定して、実行当日のデータを取得する場合です。
そうしたGAS実行で今日の日付が必要になってきます。
GASの日付操作はDateオブジェクト
Google Apps Script(GAS)の日付関連の操作を行うために、Dateオブジェクト(Dateクラス)が用意されています。
Dateオブジェクトは下記の記述方法で定義します。
let date = new Date();
Dateオブジェクトには色々な日付情報を取得・設定するメソッドが用意されています。
そうしたDateオブジェクトのメソッドを駆使して、GASで日付操作を行います。
GASで今日の日付を取得するには?
それでは掲題のGoogle Apps Script(GAS)で今日の日付を取得するには、どうすればよいでしょうか?
実は先程紹介したDateオブジェクトを定義した際に、引数を指定しないと現在の時刻がデフォルトで設定されます。
それゆえにDateオブジェクトを引数なしで定義すれば、今日の日付が取得可能です。
実際にGASのサンプルコードでDateオブジェクトを使って今日の日付が取得できることを解説します。
function myFunction() {
//今日の日付をDateオブジェクトで取得
let today = new Date();
//今日の日付を実行ログに出力
console.log(today);
}
実行ログは英語の日付フォーマットですが、GASの実行時刻と同じ時刻です。
それゆえにDateオブジェクトを引数なしで定義すれば今日の日付が取得できます。
今日の日付フォーマットを変更方法
さきほど今日の日付をGoogle Apps Script(GAS)で取得しました。
しかし、実行ログに出力された今日の日付は英語でのフォーマットのため扱いにくいです。
そうした場合には、Utilities.formateDateメソッドで日付フォーマットを変換できます。
GASのUtilities.formateDateメソッドで日付フォーマット変換方法は記事で解説しています。
実行ログの出力を「yyyy年MM月dd日」という日本でよく使う日付フォーマットに変換してみます。
function myFunction() {
//今日の日付をDateオブジェクトで取得
let today = new Date();
//日付フォーマットをyyyy年MM月dd日に変更
today = Utilities.formatDate(today,'JST','yyyy年MM月dd日');
//今日の日付を実行ログに出力
console.log(today);
}
new Date()で定義した今日の日付をUtilities.formateDateメソッドでyyyy年MM月dd日というフォーマットに変換しています。
日付フォーマットを変換すると、Dateオブジェクトから文字列型のStringオブジェクトに変わり、再度日付として操作できないので注意しましょう。
このようにUtilities.formateDateメソッドを使えば、今日の日付を好きなフォーマットで取得可能です。
今日の曜日はgetDayメソッドで取得
では、今日の曜日を取得するにはどうすればよいでしょうか。
今日の曜日を取得するためにはDate.getDay()メソッドを使用します。
function myFunction() {
//今日の日付をDateオブジェクトで取得
let today = new Date();
//今日の日付を実行ログに出力
console.log(today);
//今日の曜日の数字(0~6)を実行ログに出力
console.log(today.getDay());
}
getDayメソッドを使うと、曜日に対応した0~6の数字が戻り値で取得できます。
- 0:日曜日
- 1:月曜日
- 2:火曜日
- 3:水曜日
- 4:木曜日
- 5:金曜日
- 6:土曜日
そのままでは曜日が数字で表現されているため、switch文などの条件分岐で数字に応じて曜日を判定します。
switch文の判定式にtoday.getDay()を指定し、case句に0~6に対応した曜日をログ出力するサンプルコードを用意しました。
function myFunction() {
//今日の日付をDateオブジェクトで取得
let today = new Date();
//今日の日付を実行ログに出力
console.log(today);
//switch文で0~6の曜日を判定して今日の曜日をログ出力
switch(today.getDay()){
case 0 :
console.log('日曜日');
break;
case 1 :
console.log('月曜日');
break;
case 2 :
console.log('火曜日');
break;
case 3 :
console.log('水曜日');
break;
case 4 :
console.log('木曜日');
break;
case 5 :
console.log('金曜日');
break;
case 6 :
console.log('土曜日');
break;
}
}
今回は日曜日に実行したので、getDay()が0となり「日曜日」と実行ログに表示されます。
今日の日付で曜日も取得したい場合は、getDayメソッドを活用しましょう。
まとめ・終わりに
今回、Google Apps Script(GAS)で今日の日付を取得する方法を紹介しました。
Dateオブジェクトを引数指定せずに定義すると、今日の日付オブジェクトを取得可能です。
ただDateオブジェクトの日付フォーマットは英語なので、任意のフォーマットに変換したい場合はUtilities.formateDateを用いましょう。
さらに今日の曜日を取得したい場合はgetDay()で日曜日~土曜日に対応した数字(0~6)が取得できるので、switch文の条件分岐で曜日判定できるのを覚えておきましょう。
ディスカッション
コメント一覧
まだ、コメントがありません