Partager via


S’adapter aux fuseaux horaires

L’entité Date et heure capture une date et heure en temps universel coordonné (UTC). Cependant, vous souhaiterez peut-être afficher la date et l’heure en fonction de l’emplacement de l’utilisateur à la place.

Prérequis

Comment Copilot Studio détermine le fuseau horaire de l’utilisateur

Copilot Studio utilise les étapes suivantes, dans l’ordre, pour déterminer le fuseau horaire de l’utilisateur :

  1. Si la variable du système Conversation.LocalTimeZone est définie sur un fuseau horaire valide dans Noda Time, utilisez-le comme fuseau horaire.

  2. Si le canal incluait le fuseau horaire local dans le message de l’utilisateur, utilisez-le.

  3. Sinon, utilisez UTC comme fuseau horaire.

Obtenir le fuseau horaire de l’utilisateur

Utilisez ces variables système pour obtenir des informations sur le fuseau horaire de l’utilisateur :

  • Conversation.LocalTimeZone (en lecture-écriture) : stocke le fuseau horaire de l’utilisateur sous forme de chaîne. Vous pouvez éventuellement définir cette variable sur un fuseau horaire répertorié sur le site Web Noda Time.

  • Conversation.LocalTimeZoneOffset (lecture seule) : obtient le décalage UTC de Conversation.LocalTimeZone et le stocke en tant que valeur temporelle.

Définir manuellement le fuseau horaire d’un utilisateur

Copilot Studio détermine automatiquement le fuseau horaire de l’utilisateur lorsque votre agent demande une date et heure à l’utilisateur. Vous pouvez également définir manuellement le fuseau horaire.

  1. Ouvrez la rubrique dans laquelle vous souhaitez définir le fuseau horaire de l’utilisateur.

  2. Ajoutez un nœud Définir la valeur de la variable.

    • Pour Définir une variable, choisissez la rubrique système Conversation.LocalTimeZone.

    • Pour Valeur de fin, saisissez une des valeurs ID de zone depuis le site web Noda Time ; par exemple, America/Los_Angeles.

  3. Ajoutez un nœud Message.

  4. Dans la zone de texte, entrez « Le fuseau horaire local est : », puis sélectionnez Insérer une variable ({x}) et insérez la variable système Conversation.LocalTimeZone.

  5. Ajoutez un second nœud Message.

  6. Dans la zone de texte, entrez « Le décalage du fuseau horaire local est : », puis sélectionnez Insérer une variable ({x}) et insérez la variable système Conversation.LocalTimeZoneOffset.

  7. Enregistrez et testez l’agent.

    Capture d’écran du volet Tester l’agent.

Afficher la date et l’heure dans le fuseau horaire local

Copilot Studio mémorise la date et l’heure en UTC. Avant d’afficher une date et une heure aux clients, ajoutez le décalage du fuseau horaire pour convertir la valeur dans le fuseau horaire local de l’utilisateur.

Dans cet exemple, nous obtenons la date et l’heure actuelles à l’aide de la fonction Power Fx Now(), puis nous ajoutons le décalage du fuseau horaire. Il n’est pas possible d’utiliser la variable système Conversation.LocalTimeZoneOffset directement dans une formule Power Fx. À la place, nous utilisons un nœud Définir la valeur de la variable pour créer une variable et lui attribuer la valeur Conversation.LocalTimeZoneOffset.

  1. Créez une rubrique et ajoutez la phrase déclencheur « quelle heure est-il ».

  2. Dans le canevas de création, sélectionnez Ajouter un nœud (+). Sélectionnez Définir une valeur de variable.

    • Pour Définir une variable, créez une variable nommée offset.

    • Pour Valeur de fin, sélectionnez la variable système Conversation.LocalTimeZoneOffset.

      Capture d’écran d’un nœud Définir la valeur de la variable attribuant une valeur à la variable de décalage.

  3. Ajoutez un deuxième nœud Définir la valeur de la variable.

    • Pour Définir une variable, créez une variable nommée nowLocal.

    • Pour Valeur de fin, entrez la formule Power Fx DateAdd(Now(), Topic.offset).

      Capture d’écran d’un nœud Définir la valeur de la variable attribuant une valeur à la variable nowLocal.

  4. Ajoutez un nœud Message. Entrez le message « La date et l’heure actuelles sont {Topic.nowLocal} ».

  5. Testez votre agent dans le volet Tester l’agent pour obtenir la date et l’heure dans votre fuseau horaire.

    Capture d’écran d’un agent répondant avec la date et l’heure actuelles dans le volet Tester l’agent.