逆引きFormula 2.0 に戻る

週を特定するのであれば、その週の基準となる日付でフィルタすれば簡単です。人によって週の初めが日曜日の人と月曜日の人に別れると思うので両方作ってみます。こっちは月曜日版です。日曜日であれば day 関数の返り値を引くだけでいいのですが、月曜日だと -1 した数値を引くことになります。ただし、日曜日は -1 になってしまって翌週の月曜日になってしまいます。条件判断はしたくないので、剰余の関数で逃げましょう。 Formula 2.0 からは日曜日が 7 になったので、剰余が必要なくなりました。日曜日版と同様に、ついでにその週の週初を計算する今週月曜日も作っておきます。

週初月曜日

  1. 「時刻なし」を使う場合

    /* 時刻なしプロパティの値を変数 d に代入 */
    let(d, prop("時刻なし"),
     /* d から曜日の数値を得て、その日数から1を引いたものを減算 */
     d.dateSubtract(d.day() - 1, "days")
    )
    

    letdateSubtractday-, subtract

  2. 参照を使わない場合。こちらも Formula 2.0 から導入された parseDate を使います。

    /* 日付プロパティの日付から時刻情報を削り、変数 d に代入 */
    let(d, prop("日付").formatDate("YYYY-MM-DD").parseDate(),
      /* d から曜日の数値を得て、その日数から1を引いたものを減算 */
      d.dateSubtract(d.day() - 1, "days")
    )
    

    letformatDateparseDatedateSubtractday-, subtract

今週月曜日

  1. 「今日」を使う場合

    /* 今日プロパティの値を変数 d に代入 */
    let(d, prop("今日"),
     /* d から曜日の数値を得て、その日数から1を引いたものを減算 */
     d.dateSubtract(d.day() - 1, "days")
    )
    

    letdateSubtractday-, subtract

  2. 参照を使わない場合。こちらも Formula 2.0 から導入された today と parseDate を使います。

    /* today() から曜日の数値を得て、その日数から1を引いたものを減算 */
    today().dateSubtract(today().day() - 1, "days")
    

    letformatDateparseDatedateSubtractday-, subtract

Untitled