LoginSignup
1
0

More than 3 years have passed since last update.

[GAS]隔週に一回、何週目などを判定したい[Momentjs]

Last updated at Posted at 2020-09-02

ソースコードで解説します。
Momentに詳しくない私のために、考え方をコメントに添えています。

var today = moment();

// 隔週の場合、今日が一年で何週目か分かれば、2で割れば隔週が求められる
var week = today.week() % 2;

// 月の1週目などの指定がある場合、月初めが何曜日で今日が何日目か分かれば何周目か求められる
var first_day = moment(today.format("YYYY/MM/DD")).date(1);  // 今月1日
var today_week = Math.ceil((first_day.day() + today.date())/7);    // 日曜日の1日は1、土曜日の1日は7になる
if(today_week == 1 && today.day() == 0) // 一周目の日曜日の場合

// 一回目の日曜日を検出したい場合、1日が何曜日か求めて、1週目と2週目の可能性を追求すれば分かる
var target_week = (first_day.day() == 0) ? 1 : 2;
if(today_week == target_week) // 一回目の日曜日の場合  

解説

この記事を読んでいる方は面倒くさがりな方1だと思いますが、コメントを読んでフローチャートを書けば難しい話ではない事がわかります。
本稿では考え方について触れたいのでmomentを使用していますが、momentである必要はないです。

実践例

GASで毎日ゴミの日を通知する


  1. 【面倒くさがり】プログラマーとしては良いことだと思います。 

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0