みやもとメモ

「Notion」「Google Apps Script」「ブログカスタマイズ」などについて書いていきます。

目次
目次

【GAS】今日の曜日を取得する(1週間分のテストも)

この記事をシェアする

今回はGAS(Google Apps Script)に関して書いていきます。

以前もGASに関する記事を書いています(以下リンク)。

miya-moto-memo.hatenablog.com

上記の記事で、今日の曜日を取得する必要がありました。

Notion検索の条件として曜日を指定するのですが、検索値は「月」「火」「水」…といった感じで、1文字だけ渡す感じです。

GASでどう実装するのか色々と調べてみたのですが、ちょっとした工夫が必要でした。

今回の記事では、その辺りに関して書いていきます。

やりたいこと

記事の冒頭でも触れましたが、プログラム(GAS)を実行した日の曜日を取得します。
取得したいデータは以下7パターンです。

月曜日に実行したら「月」、火曜日に実行したら「火」を取得します。

「月曜」でもなく「月曜日」でもなく、「月」です。
これは自分がラジオ管理Notionで曜日をそう管理しているためです。

プログラム

今日の曜日を取得する

今日の曜日を取得するプログラムは以下です。

function main() {
  // 曜日の変換用
  const weekdayArray = ['日','月','火','水','木','金','土'];
  // 今日の日付取得
  const date = new Date();
  // 曜日の取得
  const weekday = date.getDay();
  // 曜日の変換
  const convertWeekday = weekdayArray[weekday];
  // ログ出力
  console.log('今日の日付:' + date);
  console.log('今日の曜日:' + weekday);
  console.log('曜日の変換:' + convertWeekday);
}

上記のプログラムを実行すると、実行した日の曜日がログ出力されます。

実行した日の曜日がログ出力される

全曜日をテスト

せっかくなので、1週間分の曜日が正しく取得できるかテストしてみます。

function main() {
  // 曜日の変換用
  const weekdayArray = ['日','月','火','水','木','金','土'];
  // 今日の日付取得
  const date = new Date();
  // カウンタを初期化
  let i = 0;
  // 1週間分ループする
  while (i < weekdayArray.length) {
    // 曜日の取得
    let weekday = date.getDay();
    // 曜日の変換
    let convertWeekday = weekdayArray[weekday];
    // ログ出力
    console.log(date, weekday, convertWeekday);
    // 1日加算
    date.setDate(date.getDate() + 1);
    // インクリメント
    i++;
  }
}

上記のプログラムを実行すると、1週間分の曜日をログ出力しています。
プログラムを実行した日から1日ずつ進めて、それぞれの曜日をログ出力しています。

1週間分の曜日をログ出力

カレンダーを見ながらチェックして、問題ないことを確認しました。

リファレンス

GASはJavaScriptベースとのことで、JavaScriptのリファレンスをリンクしておきます。

Dateオブジェクト
developer.mozilla.org
「new Date()」で今日の日時が取得できます。


getDay
developer.mozilla.org
「getDay」で曜日を取得できます。

曜日に応じて0~6のいずれかの値が返ってきます。
0は日曜日、1は月曜日、2は火曜日…といった感じです。

上記ルールに合わせて、曜日を変換するArrayを用意すればOKです(上記プログラムの「weekdayArray」部分)。


getDate、setDate
developer.mozilla.orgdeveloper.mozilla.org
「getDate」で”日”が取得できます。
”+1”すれば1日加算されます。

おわりに

ということで、「GASで今日の曜日を取得する(1週間分のテストも)」に関してアレコレ書いてみました。

ちょっとした工夫が必要でしたが、取得した曜日(getDay)に応じて変換用のArrayを用意するロジックはスッキリしていて良いなと思いました。

この記事が参考になれば幸いです。

関連記事

GAS(Google Apps Script)に関してはいくつか記事にしています。
気になる記事があればぜひ。

GASの活用事例


GASでNotionからデータ取得してGmailで通知する - 派生記事

TOPへ戻る HOMEへ