逆引きFormula 2.0 に戻る

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

週初日曜日

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

    /* 時刻なしプロパティの値を変数 d に代入 */
    let(d, prop("時刻なし"),
     /* d から曜日の数値を得て、その日数を減算(日曜日は7が返却されるので7で割った余りを減算) */
     d.dateSubtract(d.day() % 7, "days")
    )
    

    letdateSubtractday%, mod

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

    /* 日付プロパティの日付から時刻情報を削り、変数 d に代入 */
    let(d, prop("日付").formatDate("YYYY-MM-DD").parseDate(),
     /* d から曜日の数値を得て、その日数を減算(日曜日は7が返却されるので7で割った余りを減算) */
     d.dateSubtract(d.day() % 7, "days")
    )
    

    letformatDateparseDatedateSubtract%, mod

今週日曜日

  1. 「今日」を使う場合

    /* 現在時刻を変数 d に代入 */
    let(d, prop("今日"),
     /* d から曜日の数値を得て、その日数を減算(日曜日は7が返却されるので7で割った余りを減算) */
     d.dateSubtract(d.day() % 7, "days")
    )
    

    letdateSubtractday%, mod

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

    /* today() から曜日の数値を得て、その日数を減算(日曜日は7が返却されるので7で割った余りを減算) */
    today().dateSubtract(today().day() % 7, "days")
    

    letnowformatDateparseDatedateSubtractday%, mod

Untitled