Logic Appsの日付、時刻、タイムゾーン、曜日に関するアクションや関数
Azure Logic Appsのワークフローで日付、時刻、タイムゾーン、曜日を扱う方法の紹介です。
アクションや式関数を利用した取得、計算、変換などの方法を確認しています。
現在時刻の取得から、タイムゾーン変更、時間の加算減算、フォーマット変更方法など実例を交えて紹介しています。
Logic Appsワークフローで日付、時刻、曜日を取得
設定から実行結果を確認してみます。
実行結果は2022年8月20日18時36分(日本時間)に実施した内容です。
取得方法は2種類
Logic Appsのワークフローで日付や時刻などを取得する方法は2種類あります。
-
- 日付と時刻のコネクタを使う
- 式関数を使う
式関数についてはこちらを参考に進めています。
Azure Logic Apps および Power Automate のワークフロー式関数のリファレンス ガイド(日付と時刻関数)
今回はそれぞれの方法で設定、取得出来る値を確認してみます。
現在時刻を取得(日付と時刻コネクタ)
”日付と時刻”のコネクタ使って現在の時間を取得します。
現在時刻を取得 | |
検索欄で日付と入力します。 日付と時刻のアクションのリストが表示されます。 現在の時刻を選択します。 |
|
特に設定はありません。アクションとして配置するだけで現在の時刻が取得出来ます。 | |
実行結果を確認します。 UTCで現在時刻が取得出来ています。 |
現在時刻を取得(式関数(utcNow))
式関数(utcNow)を利用して現在時刻を取得できます。
utcNow | |
”変数の初期化”で名前と種類を設定します。 | |
現在時刻を取得する場合には式関数utcNow()を使います。 |
|
実行結果を確認します。 UTCで現在時刻が取得出来ています。 |
取得した現在時刻をワークフローで使う
取得した現在の時刻をワークフローで利用する場合は動的なコンテンツで指定します。
現在時刻を設定する例 | |
”変数の初期化”で設定した例です。 |
|
現在の時刻を指定します。 これで変数に現在時刻の値を設定出来ます。 |
タイムゾーン(Time Zone)の変換(日付と時刻コネクタ)
”日付と時刻”のコネクタにはタイムゾーンの変換についても準備されています。
タイムゾーン(Time Zone)の変換(式関数(convertFromUtc))
式関数(convertFromUtc)を利用するとタイムゾーンを変換できます。
現在の曜日を取得(式関数(dayOfWeek))
式関数を利用して曜日を取得できます。
”日付と時刻”のコネクタには曜日の取得に関するアクションはありません。
平日のみワークフローを実行する方法についてはこちらで紹介しています。
dayOfWeek関数を利用しています。
—広告—
Logic Appsワークフローで日時の計算
日時の計算について設定から実行結果を確認します。
実行結果は2022年8月20日18時36分(日本時間)に実施した内容です。
現在時刻から加算、減算(日付と時刻コネクタ)
日付と時刻コネクタには時刻の加減算のアクションが用意されています。
現在時刻から日付や時間を加算、減算した値が取得できます。
現在時刻から加算、減算(式関数)
時刻の加減算を行う式関数が用意されています。
現在時刻から日付や時間を加減算した値を取得できます。
現在時刻から加算 | |
加算の場合にはgetFutureTimeを使います。 | |
getFutureTime(間隔,加算する時間単位)の指定になります。
現在時刻に1日追加する場合は”getFutureTime(1, 'day’)”となります。 |
|
実行結果を確認します。
値を確認すると1日後の日付が取得されている事が分かります。 |
減算の場合です。
現在時刻から減算 | |
減算の場合にはgetPastTimeを使います。 | |
getPastTime(間隔,減算する時間単位)の指定になります。
現在時刻から1時間減算する場合は”getPastTime(1,’Hour’)”となります。 |
|
実行結果を確認します。 値を確認すると1時間前の時間が取得されている事が分かります。 |
指定した時間からの加算、減算(日付と時刻コネクタ)
指定した時刻からの加算、減算も出来ます。
今回は現在時刻を使っていますが、指定した時刻は現在時刻である必要はありません。
指定した時間からの加算、減算(式関数)
指定した時間に日数や時間を加減算する式関数も用意されています。
加算する時間単位を追加します。
-
- addDays:指定した時間に日数を加算します
- addHours:指定した時間に時間を加算します
- addMinutes:指定した時間に分を加算します
- addSeconds:指定した時間に秒を加算します
※addToTimeを使っても同様の事ができます。
時間からの減算も同様にaddHoursを使って出来ます。
subtractFromTimeを使っても出来ます。
式関数を利用して開始時間や開始日付のみを取得(分や時間を切り捨てる)
式関数を使って時間や分の単位を切り捨てる事が出来ます。
-
- startOfDay:指定した日時の開始日時を出力します
- startOfHour:指定した日時の開始時間を出力します
- startOfMonth:指定した日時の開始月日付を出力します
開始時刻を取得する | |
現在時刻の開始時刻を取得します。 | |
startOfHour(指定時刻)の指定になります。 |
|
実行結果を確認します。 ワークフロー実行時に指定した時刻は現在時刻の9:36(UTC)になります。 この場合にstartOfHourを使って取得された値は開始時刻である9:00になります。 |
日付でも同じ事が出来ます。
開始日付を取得 | |
現在時刻の開始日付を取得します。 | |
startOfDay(指定時刻)の指定になります。 |
|
実行結果を確認します。 ワークフロー実行時に指定した時刻は現在時刻の8月20日の9:36(UTC)になります。 この場合にstartOfDayを使って取得された値は開始日付である8月20日の00:00になります。 |
startOfDayとaddDaysを組み合わせて使うと前日の開始日付を取得する事も出来ます。
前日の開始日付を取得 | |
startOfDayを使って前日の開始日付を取得してみます。 | |
startOfDay(addDays(utcNow(), -1))と指定します。
addDays(utcNow(), -1)で指定時刻を現在時刻から1日減算しています。 |
|
実行結果を確認します。 前日の開始日付である8月19日00:00が値として取得されている事が確認出来ます。 |
タイムゾーンの変更を使って日付のフォーマット変更(日付と時刻コネクタ)
タイムゾーンの変更のアクションを使って日付のフォーマット変更が出来ます。
日付のフォーマット変更 | |
フォーマット変更は書式設定文字列の指定を使います。 書式設定文字列に短い形式の日付パターンを指定してみます。 |
|
実行結果を確認します。 |
式関数(formatDateTime)を使って日付のフォーマット変更
式関数(formatDateTime)を使うと出力フォーマットが指定できます。
日付のフォーマット変更 | |
日付のフォーマット変更の場合にはformatDateTimeを使います。 | |
formatDateTime(指定時刻,出力フォーマット)の指定になります。 utcNowを使って現在時刻を指定時刻として設定してみます。 |
|
実行結果を確認します。 出力結果を見ると"2022/08/22″となっており、指定したフォーマット通りの値が得られている事が分かります。 |
最後に
今回はLogic Appsのワークフローで使う日時のアクションについて纏めてみました。
”日付と時刻”のコネクタ内にあるアクションや式関数を使う事で様々な値が取得出来る事が分かりました。
引き続き今後も色々試してみたいと思います。
Logic Appsのワークフロー内のアクションでサブスクリプションIDを取得する方法についてはこちらに纏めています。
Logic Appsのワークフロー内でKey Vaultのシークレットを参照する手順についてはこちらに纏めています。
この中で取得した値を非表示(セキュリティで保護された出力)にする方法についても紹介しています。