Logic Appsの日付、時刻、タイムゾーン、曜日に関するアクションや関数
Azure Logic Apps(ロジックアプリ)のワークフローにおける日付、時刻、タイムゾーン、曜日の扱い方です。
アクションや式関数を利用した取得、計算、変換などの方法を確認しています。
現在時刻の取得からタイムゾーンの変更、時間の加算・減算、フォーマット変更方法までを確認、紹介しています。
※本記事では、一部を除きAzure Logic Apps(ロジックアプリ)をLogic Appsと記載しています。
Logic Appsワークフローで日付、時刻、曜日を取得して利用する方法
設定後、実行結果を確認しています。
実行結果は2022年8月20日18時36分(日本時間)に実施した内容です。
取得方法は2種類
Logic Appsのワークフローで日付や時刻などを取得する方法には、2種類あります。
-
- 日付と時刻のコネクタを使う
- 式関数を使う
式関数については、こちらを参考に進めています。
Azure Logic Apps および Power Automate のワークフロー式関数のリファレンス ガイド(日付と時刻関数)
今回は、それぞれの方法で設定および取得できる値を確認してみます。
現在時刻を取得(日付と時刻コネクタ)
“日付と時刻"コネクタを使って現在の時刻を取得します。
現在時刻を取得 | |
検索欄に日付と入力します。 日付と時刻のアクションリストが表示されます。 その中から現在の時刻を選択します。 |
![]() |
特に設定は必要ありません。 アクションとして配置するだけで、現在の時刻を取得できます。 |
![]() |
実行結果を確認します。 UTCで現在の時刻が取得できています。 |
![]() |
現在時刻を取得(式関数(utcNow))
式関数(utcNow)を利用して現在の時刻を取得できます。
現在時刻を取得 | |
”変数の初期化”で名前と種類を設定します。 | ![]() |
現在時刻を取得する場合には式関数utcNow()を使います。 |
![]() |
実行結果を確認します。 UTCで現在の時刻が取得できています。 |
![]() |
取得した現在時刻をワークフローで利用した場合の例
取得した現在の時刻をワークフローで利用する場合は、動的なコンテンツで指定します。
現在時刻をワークフローで利用した場合の例 | |
”変数の初期化”で設定した例です。 |
![]() |
現在の時刻を指定します。 変数に現在時刻の値を設定できます。 |
![]() |
タイムゾーン(Time Zone)の変換(日付と時刻コネクタ)
”日付と時刻”のコネクタには、タイムゾーンの変換についても用意されています。
今回は現在の時刻(UTC)を日本時間(JST)に変換します。
タイムゾーン(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のシークレットを参照する手順については、こちらで紹介しています。
この中で取得した値を非表示(セキュリティで保護された出力)にする方法についても紹介しています。