LoginSignup
4
4

More than 1 year has passed since last update.

Power Automate の関数で先週の日曜日や土曜日を求める

Posted at

Power Automate のクラウドフローで、フロー実行日を基準として「先週の日曜日」と「先週の土曜日」の日付値が必要になったので、関数を利用して求めてみました。

先週の日曜日

先週の日曜日は、次のような関数で求めました。

addDays(
    startOfDay(
        convertFromUtc(
            utcNow(),
            'Tokyo Standard Time'
        )
    ),
    sub(
        -7,
        dayOfWeek(
            convertFromUtc(
                utcNow(),
                'Tokyo Standard Time'
            )
        )
    ),
    'yyyy/MM/dd'
)

実行時点である utcNow() を基準とし、実行日の 0 時 0 分の値を取得します。その後、-7 から dayOfWeek で求められる値を減算した値を取得し実行日に加算することで、先週の日曜日の日付を求めています。dayOfWeek は、日、月、火、水、木、金、土が「0、1、2、3、4、5、6」という数値で取得できる関数です。

例えば、今日が 7 月 6 日(水)であれば、dayOfWeek で求められる値は 3 となり、-7 - 3 = -10 を今日の日付から引くことなります、今日の 10 日前は 6 月 26 日(日)なので、ちゃんと先週の日曜日を求められていますね。

先週の土曜日

応用すると、先週の他の曜日も簡単に求めることができます。例えば土曜日は、次のような関数で求められます。

addDays(
    startOfDay(
        convertFromUtc(
            utcNow(),
            'Tokyo Standard Time'
        )
    ),
    sub(
        -1,
        dayOfWeek(
            convertFromUtc(
                utcNow(),
                'Tokyo Standard Time'
            )
        )
    ),
    'yyyy/MM/dd'
)

さいごに

フローの実行日を基準とした関数を利用した日付の計算式は、ストックしておくと使い回しができそうですね。

4
4
1

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
4
4