フローで日付と時刻の値をカスタマイズまたは書式設定する

この記事では、Power Automate フローで日付と時刻の値をカスタマイズまたは書式設定する手順について説明します。

Power Automate フローで日付と時刻の値を処理するときに、日付と時刻の形式が期待したものでなかったり、出力の形式をカスタマイズする場合があります。 これを行うには、formatDateTime 関数に書式設定文字列を渡します。

日付と時刻を書式設定する

Power Automate の formatDateTime() 関数を使用すると、日付と時刻の値をさまざまな表示形式で操作および書式設定できます。 また、異なるタイム ゾーンにまたがるデータと時刻を簡単に処理する方法も提供します。

formatDateTime() 関数は 2 つのパラメーターを使用します:

  • タイムスタンプ: タイムスタンプは、フォーマットする必要がある日付と時刻の値です。

    手動文字列または動的コンテンツにすることができます。 手動で入力する場合、タイムスタンプは ISO 8601 形式 ("yyyy-MM-ddTHH:mm:ssZ") に従うことが想定されます。

  • 書式設定文字列: 書式設定文字列は、日付と時刻の出力形式を指定します。

    formatDateTime() 関数の書式設定文字列パラメーターは、標準書式設定文字列またはカスタム書式設定文字列のいずれかにすることができます。

標準書式設定文字列

標準の書式設定文字列では、書式指定子として 1 文字 (d、g、または G など) を使用します。

  • 書式設定文字列 g は、一般的な日付/時刻パターン (短い時間) に対応します:

    formatDateTime('2009-06-15T13:45:30', 'g') // 形式 6/15/2009 1:45 PM を返します

  • 書式設定文字列 D は、長い日付パターンに対応します:

    formatDateTime('2009-06-15T13:45:30', 'D') //形式 Monday, June 15, 2009 を返します

標準の日付と時刻の書式設定文字列の使用の詳細と例については、標準の日付および時刻の書式設定文字列 を参照してください。

カスタム書式設定文字列

カスタムの書式設定文字列は、日付と時刻の値の月、日、年、時、秒などの表示、位置、精度を制御できる、複数の文字 (例: M/dd/yyyy h:mm tt) を含む文字列です。

  • 書式設定文字列 M/dd/yyyy h:mm tt は、標準書式設定文字列 で説明されているように、標準書式文字列 g と同じパターンを表します:

    formatDateTime('2009-06-15T13:45:30', 'M/dd/yyyy h:mm tt') // 形式 6/15/2009 1:45 PM を返します

  • 書式設定文字列 HH:mm:ss tt は、24 時間形式を返します:

    formatDateTime('2009-06-15T13:45:30', 'M/dd/yyyy HH:mm:ss tt') // 形式 6/15/2009 13:45:30 PM を返します

  • 書式設定文字列 hh:mm:ss tt は、12 時間形式を返します:

    formatDateTime('2009-06-15T13:45:30', 'yyyy/MM/dd hh:mm:ss tt') // 形式 2009/06/15 1:45:30 PM を返します

  • 現在の日付と時刻を UTC で自動的に取得するタイムスタンプとして使用される utcNow() 関数と、日付と時刻を表示するための書式設定文字列 dd-MM-yyyy:

    formatDateTime(utcNow(), 'MMMM dd, yyyy, HH:mm') //現在の日時を形式 June 15, 2009, 16:50 で返します

  • 現在の日付と時刻を UTC で自動的に取得するタイムスタンプとして使用される utcNow() 関数と、日付は表示するが時刻は表示しない書式設定文字列 dd-MM-yyyy:

    formatDateTime(utcNow(), 'dd-MM-yyyy') //現在の日付を形式 15-06-2009 で返します

カスタムの日付と時刻の書式設定文字列の使用の詳細と例については、カスタムの日付および時刻の書式設定文字列 を参照してください。

フローで使用する

フローで日付と時刻の値を使用するには、次の手順に従います。

  1. フローで、書式設定された日付と時刻の値を入力する入力フィールドを選択します。

  2. 動的コンテンツの追加 に移動し、 タブを選択して式エディターを開きます。

  3. formatDateTime() と入力します。

    または、日付と時刻 の関数で検索します。

  4. 書式設定する値を一重引用符で囲んで指定します。

    動的コンテンツを使用できますが、一重引用符で囲まないでください。

  5. 書式設定文字列を一重引用符で囲んで指定します。

  6. 完全な式は、次の例のようになります:

    • formatDateTime('<your-value>', 'dd/MM/yyyy hh:mm tt')
    • formatDateTime('<dynamic-value>', 'dd/MM/yyyy hh:mm tt')

    [動的コンテンツの追加] リンクと [式] タブのスクリーンショット。

  7. OK を選びます。

動的コンテンツの例

動的コンテンツは、フロー図内のトリガーとアクションによって生成される変数です。 これにより、ユーザーは前の手順からフィールド参照を選択し、式を記述できます。

この例では、動的コンテンツでの formatDateTime() 関数の使用を示すシンプルなフローについて説明します。 この例で使用されるトリガーは、ユーザー入力を必要とする手動でトリガーされるフローです。

  1. Power Automate にサインインします。

  2. フローのトリガーを設定します。 この例では、日付 を入力として使用します。

    1. 左側のナビゲーション ウィンドウで、作成>インスタント クラウド フロー を選択します。

    2. フロー名フィールドにフローの名前を入力します。

    3. このフローをトリガーする方法を選択 リストで、手動でフローをトリガーする を選択します。

    4. 作成を選択します。

    5. 手動でフローをトリガーする カードを選択します。

    6. パラメーター タブで + 入力の追加>日付 を選択します。

    7. 右側のフィールドに 2023-10-22 と入力します。

      パラメーター タブの日付形式のスクリーンショット。

  3. メールを送信 (v2) アクションを追加します。

    1. 手動でフローをトリガーする カードの下で、プラス記号 (+) >アクションの追加 を選択します。

    2. 検索 フィールドで メールを送信 (v2) とタイプを開始し、表示されたらリストから選択します。

    3. メールの 本文 フィールドを選択し、fx (式の挿入) を選択します。

    4. 動的コンテンツを選択します。

      ここに表示される動的コンテンツはトリガーに関連しています。 トリガーと実行する必要のあるアクションをリンクします。

    5. 動的コンテンツ の上のフィールドで、formatDateTime とタイプを開始し、表示されたらドロップダウン メニューから選択します。

    6. 動的コンテンツ リストを下にスクロールし、トリガーの日付 を選択します。 表示されない場合は、さらに表示 を選択します。

      この変数の動的コンテンツは、トリガーの日付フィールドから取得されます。

    7. 日付の目的の出力形式に基づいて書式設定文字列 (一重引用符で囲む) を指定します。 この例では、MM/dd/yyyy 形式が使用されます。

      完全な式は次のようになります:

      formatDateTime(triggerBody()?['date'], 'MM/dd/yyyy')

      動的コンテンツを使用した formatDatTime 関数のスクリーンショット。

    8. 追加を選択します。

  4. パラメーター タブで、宛先 フィールドにメールアドレス、件名 フィールドに件名を挿入します。

  5. 保存 を選びます。

  6. フローの実行後、受信したメールには、指定された MM/dd/yyyy 形式で日付が表示されます。

タイム ゾーンの変換の例

Power Automate はデフォルトで協定世界時 (UTC) を使用します。 他のタイム ゾーンで日付と時刻の値を処理するには、formatDateTimeconvertTimeZone 関数と組み合わせて使用できます。

たとえば、現在の時刻を東部標準時で表示するには、次の構文を使用できます:

formatDateTime(convertTimeZone(utcNow(), 'UTC', 'Eastern Standard Time'), 'yyyy-MM-dd HH:mm:ss') // 東部標準時に調整された日付時刻を返します

参照

日付と時刻関数の詳細については、次の記事を選択してください。