2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

はじめに

忙しさにかまけて、Qiitaからの発信をさぼりそうなので、
しょっちゅう忘れるPower Automateの関数の備忘録をストックしていこうと思います。

今回のテーマは、現在日時から見た直近の日付の算出です。

  • 現在の日付から繰り上げて直近の1日または20日を取得する

このような機能をストックします。ショートブログです。

しょっちゅう自分自身忘れるので後で見返せるように!

フローの内容

全体像

image.png

規模が大きめの仕組みで使う場合は、子フローにすることをお勧めします。

インスタント クラウド フローで作成します。

  1. 変数を初期化する

    上記で現在の時刻を取得するタイム ゾーンを変換するの二点を達成しています
    :

  2. 変数を初期化する

    • dateという文字列変数をセットします。
      • 後ほど条件によって変動する文字列タイムスタンプ を格納するためです。
        image.png
  3. 条件分岐
    image.png

    • dayOfMonth()関数によって、変数japanNow日付部分を抽出しています。
      • 似たような名前の関数があるので要注意です。
    • ~ is less than XX は、XXより小さい、を表します。ここら辺の条件は臨機応変に。
  4. (3-1) 20日より日付が小さい場合
    image.png

addDays(startOfMonth(variables('japanNow'),19)
  1. 一度取得した現在日付の属する月の月初のタイムスタンプを取得します
  2. 取得したタイムスタンプからaddDays()関数を使い、19日加算します

私見ですが、厳密にタイムゾーンを加味するとなると、一度タイムゾーンを日本に直してから変換した関数がエラーが起きにくいように想像しました。getFutureTime関数もありますが、TimeStampを引数に設定できないことだけが不安に感じます。

  1. (3-2) 20日より日付が大きい場合
    image.png
addToTime(startOfMonth(variables('japanNow')),1,'Month')
  1. 一度取得した現在日付の属する月の月初のタイムスタンプを取得します
  2. 取得したタイムスタンプからaddToTime()関数を使い、1月加算します

標準で時間の加算が備わっているのはDaysHoursMinutesSeconds
そのほかはToTimeで加算します。

テスト

  • 2024.01.04 19:10(2024-01-04T19:10:24.2415968)に試す
    image.png
  • タイムスタンプ(2024-01-30T13:45:30.1510184)で試す
    image.png

子フローで出番がチョコチョコありそうです。
日付関数は自動化で押さえなきゃいけない必修事項!

活用してGood Power Lifeを!
See you next time♪

2
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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?