タイム ゾーンを変換する

この記事では、Power Automate トリガーまたはアクションでタイム ゾーンを目的のタイムゾーンに変換する手順について説明します。

Power Automate フローでトリガーとアクションを使用して日時を渡すときに、タイム ゾーンが予期と異なる場合や、タイム ゾーン (多くの場合、協定世界時 (UTC)) を現地時間に変換する場合があります。 これを行うには、タイムゾーンの変換 アクションまたは convertTimeZone 式を使用します。

日付はさまざまな形式またはタイム ゾーンでサービスに渡されるため、各コネクタは異なる日時形式またはタイム ゾーンを使用する場合があります。 混乱を避けるために、厳密に UTC 時間を使用するサービスもあります。

アクションを使用してタイム ゾーンを変換する

Power Automate には、タイムゾーンの変換 という組み込みの操作があります。

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

  2. フローを見つけて、編集 を選択し、アクションを追加します。

  3. 検索 ボックスに タイム ゾーンの変換 と入力し、組み込みの タイム ゾーンの変換 操作を選択します。

    フローでタイム ゾーンの変換アクションを検索するスクリーンショット。

  4. タイム ゾーンの変換 操作に必須およびオプションの入力を追加します。

    • 基準時間: 変換する日時。
    • 変換元のタイム ゾーン: 日時が現在含まれているタイム ゾーン。
    • 変換先のタイム ゾーン: 日付を変換するタイム ゾーン。
    • 書式設定文字列(オプション): 変換された時間の目的の形式を指定する文字列。

    現在のタイム ゾーンを検索する方法については、この記事の 一般的な形式のシナリオ セクションを参照してください。

式を使用してタイム ゾーンを変換する

Power Automate には、タイムスタンプを変換元のタイム ゾーンからターゲット タイム ゾーンに変換する式関数 convertTimeZone があります。

スクリーンショットは、Power Automate にタイム ゾーンを変換する式関数があることを示しています。

コンソールの関数の例を次に示します:

convertTimeZone(timestamp: string, sourceTimeZone: string, destinationTimeZone: string, format?: string)

この関数は、次のパラメーターを取ります:

  • timestamp: 変換する日時。
  • sourceTimeZone: 日時が現在含まれているタイム ゾーン。
  • destinationTimeZone: 変換先のタイム ゾーン: 日付を変換するタイム ゾーン。
  • format (オプション): 日付を変換するタイム ゾーンの形式。

例: タイム ゾーンを変換する

この例では、タイム ゾーンを指定したタイム ゾーンと形式に変換します。

convertTimeZone('2018-01-01T80:00:00.0000000Z', 'UTC', 'Pacific Standard Time', 'D')

次の結果を返します: Monday, January 1, 2018

例: 動的コンテンツを使用する

これは、式で動的コンテンツを使用する例です。 ここで、triggerBody()?['Date'] タイムスタンプは、フォーマットする動的コンテンツです。 変換元のタイム ゾーンは UTC です。 変換先のタイム ゾーンは Eastern Standard Time です。 形式はカスタム書式設定文字列 HH:mmです。

convertTimeZone(triggerBody()?['Date'],'UTC','Eastern Standard Time','HH:mm')

この式関数の詳細については、convertTimeZone を参照してください。

書式設定文字列パラメーターの詳細については、標準の日付および時刻の書式設定文字列カスタムの日付および時刻の書式設定文字列 を参照してください。

一般的な形式のシナリオ

このセクションでは、さまざまなシナリオと適切な形式を適用する方法について説明します。

日時を解読する

  • 日時の形式は異なる場合があります。 日時の末尾に Z がある場合は、UTC 時間であることを意味します。

    : 2020-04-10T01:28:14.0406387Z

  • 日時文字列が正しい形式ではないことを示すエラーが表示される場合があります。

    : '日時文字列は ISO8601 形式に一致する必要があります。'

    日時文字列を正しくフォーマットする方法の詳細については、convertTimeZone を参照してください。

出力のタイム ゾーンを確認する

現在の日時タイム ゾーンの形式が不明な場合は、フローを実行して日時の出力形式を確認できます。

この例では、今日の予報を取得する 操作によって、予報を取得したときのタイムスタンプを出力します。

スクリーンショットは、日時の出力形式を確認する例を示しています。

この日時には ISO-8601 日時形式が使用されます。 この操作では、UTC タイム ゾーンの日時が出力されます。

タイムスタンプを UTC との間で変換する

タイムスタンプを変換元のタイム ゾーンから UTC に、または UTC からターゲット タイム ゾーンに変換するには、convertFromUtcconvertToUtc の式関数を使用します。

制限

一部のコネクタでは、タイム ゾーンの表示方法に制限がある場合があります。 各コネクタの詳細については、コネクタ参照の概要 を参照してください。

参照