Power Automateは業務の自動化を強力にサポートするMicrosoftのツールです。
フローの中で「現在の時刻」や「特定の日付・時間」を扱いたい場面は多く、これをうまく使うことでリマインダーの作成、レポートの自動送信、スケジュール管理など、さまざまな業務に応用できます。
この記事では、Power Automateで時間を取得する方法を基本から応用まで詳しく解説します。初めての方でも分かりやすいように、実際の操作画面に近いイメージで説明を進めていきます。
Power Automateで現在時刻を取得するには、「式」を使います。
特に以下の式がよく使われます。
utcNow()
これは現在のUTC(協定世界時)を返します。日本時間に変換する場合は後述の変換方法を使用します。
手順:
CurrentTime
、種類:文字列utcNow()
を入力これで「現在のUTC時刻」を文字列として取得できます。
Power Automateの utcNow()
は協定世界時(UTC)を返すため、日本時間(UTC+9)との差を考慮する必要があります。これには以下のような式を使います。
addHours(utcNow(), 9)
この式により、UTC時間に9時間を加算して日本時間を得ることができます。
変数に格納したり、メールの本文に挿入したり、用途に応じて活用できます。
取得した日付はISO形式(例:2025-05-27T11:00:00Z)になっているため、読みやすい形式に変換するのが一般的です。以下の式を使うとフォーマットを自由に変更できます。
formatDateTime(addHours(utcNow(), 9), 'yyyy-MM-dd HH:mm')
この式の意味:
addHours(utcNow(), 9)
:日本時間に変換'yyyy-MM-dd HH:mm'
:日付フォーマットを「2025-05-27 20:00」形式に整形フォーマット式 | 表示例 |
---|---|
'yyyy-MM-dd' | 2025-05-27 |
'yyyy/MM/dd HH:mm:ss' | 2025/05/27 20:00:00 |
'dddd' | Monday(曜日) |
曜日を取得したいときには、以下の式を使用します。
formatDateTime(addHours(utcNow(), 9), 'dddd')
たとえば、「Tuesday」や「土曜日」といった文字列が返ります。日本語表示にしたい場合は、Power Automateの言語設定を日本語に変更するか、後続処理で翻訳する方法もあります。
特定の日時からの前後の時刻を扱うには addDays
, addHours
, addMinutes
などの式が役立ちます。
formatDateTime(addDays(utcNow(), -3), 'yyyy-MM-dd')
formatDateTime(addHours(utcNow(), 5), 'HH:mm')
これらを使えば、レポートの締切日時を自動で算出する、などの応用が可能になります。
トリガーに「スケジュール」を使っている場合、自動でフローが起動した時間を取得することもできます。
変数やアクションに triggerOutputs()?['headers']['x-ms-workflow-run-timestamp']
を使うことで、フローが実行されたタイムスタンプを得られます。
この値も formatDateTime()
で見やすく整形できます。
Power Automateを使って定期レポートメールを送信する際に、本文に日時を記載するのは一般的です。
CurrentTime
に formatDateTime(addHours(utcNow(), 9), 'yyyy年MM月dd日 HH時mm分')
を格納これで自動的に、送信時点の日時が挿入されたメールが送られます。
Power Automateでは、utcNow()
を起点にさまざまな時間取得・変換が可能です。
特に業務では「今が何時か」「いつ実行されたか」「○日後の日時は?」といった時間に関する処理が頻繁に登場します。今回紹介した方法を使えば、レポート・通知・タスク管理の自動化がよりスムーズになるでしょう。
フォーマットの工夫と時間演算を組み合わせて、ぜひご自身の業務に役立ててみてください。