次の方法で共有


タイム ゾーンを調整する

日時エンティティにより、協定世界時 (UTC) の日付と時刻を取り込むことができます。 ただし、代わりにユーザーの場所に基づいて日付と時刻を表示したい場合もあります。

前提条件

Copilot Studio がユーザーのタイム ゾーンを決定する方法

Copilot Studio は、次の手順に従って、ユーザーのタイム ゾーンを決定します。

  1. Conversation.LocalTimeZone システム変数が Noda Time からの有効なタイム ゾーンに設定されている場合、タイム ゾーンとして使用します。

  2. チャネルがユーザーのメッセージにローカル タイム ゾーンを含む場合は、それを使用します。

  3. それ以外の場合は、UTC をタイム ゾーンとして使用します。

ユーザーのタイム ゾーンを取得する

ユーザーのタイムゾーンに関する情報を取得するには、次のシステム変数を使用します。

  • Conversation.LocalTimeZone (読み書き可能) で、ボット ユーザーのタイム ゾーンを文字列として保存します。 この変数には、オプションで Noda Time のウェブサイトに記載されている任意のタイムゾーンを設定することができます。

  • Conversation.LocalTimeZoneOffset(読み取り専用): Conversation.LocalTimeZone から UTC オフセットを取得し、時刻の値として保存します。

ユーザーのタイムゾーンを手動で設定する

Copilot Studio エージェントがユーザーに日付と時刻の入力を求めると、ユーザーのタイムゾーンが自動的に決定されます。 タイム ゾーンを手動で設定することもできます。

  1. ユーザーのタイム ゾーンを設定するトピックを開きます。

  2. 変数値の設定 ノードを追加します。

    • 変数の設定Conversation.LocalTimeZone システム トピックを選択します。

    • 終了値には、Noda Time Web サイトからのゾーン ID 値の 1 つである America/Los_Angeles を入力します。

  3. メッセージ ノードを追加します。

  4. テキスト ボックスにローカル タイム ゾーンは:と入力し、変数の挿入 ({x}) を選択して、システム変数 Conversation.LocalTimeZone を挿入します。

  5. 2 番目のメッセージ ノードを追加します。

  6. テキスト ボックスに「ローカル タイム ゾーン:」と入力し、変数の挿入 ({x}) を選択して、システム変数 Conversation.LocalTimeZoneOffset を挿入します。

  7. エージェントを保存して、テストする

    テスト エージェント ペインのスクリーンショット。

ローカル タイム ゾーンの日付と時刻を表示する

Copilot Studio は UTC の日付と時刻を格納します。 日付と時刻を顧客に表示する前に、タイムゾーン オフセットを追加して、値をユーザーのローカル タイムゾーンに変換します。

この例では、Power Fx Now() 関数を使用して現在の日付と時刻を取得し、タイムゾーン オフセットを追加します。 Power Fx 式で Conversation.LocalTimeZoneOffset システム変数を直接使用することはできません。 代わりに、変数値の設定 ノードを使用して変数を作成し、それに Conversation.LocalTimeZoneOffsetの値を割り当てます。

  1. トピックを作成し、トリガーフレーズとして「今何時ですか」を追加します。

  2. 作成キャンバスで、ノードの追加 (+) を選択します。 変数値を設定するを選択します。

    • 変数を設定するで、offset という名前の変数を作成します。

    • 終了値には、システム変数 Conversation.LocalTimeZoneOffsetを選択します。

      変数値の設定ノードでオフセット変数に値を代入している画面のスクリーンショット。

  3. 2つ目の 変数値の設定 ノードを追加します。

    • 変数を設定するで、nowLocal という名前の変数を作成します。

    • To value には、Power Fx 式 DateAdd(Now(), Topic.offset) を入力します。

      変数値の設定ノードで nowLocal 変数に値を代入している画面のスクリーンショット。

  4. メッセージ ノードを追加します。 「現在の日付と時刻は {Topic.nowLocal}です」というメッセージを入力します。

  5. エージェントのテスト ペイン でエージェントをテストし、タイムゾーンの日付と時刻を取得します。

    エージェントのテスト ペインで現在の日付と時刻を返信するエージェントのスクリーンショット。