Compartir a través de


Tener en cuenta zonas horarias

La entidad Fecha y hora captura una fecha y hora en tiempo universal coordinado (UTC). Sin embargo, es posible que desee mostrar la fecha y la hora en función de la ubicación del usuario.

Requisitos previos

Cómo Copilot Studio determina la zona horaria del usuario

Copilot Studio realiza los siguientes pasos, en orden, para determinar la zona horaria del usuario:

  1. Si la variable del sistema Conversation.LocalTimeZone se establece en una zona horaria válida de Noda Time, úsela como zona horaria.

  2. Si el canal incluía la zona horaria local en el mensaje del usuario, utilícela.

  3. De lo contrario, utilice UTC como zona horaria.

Obtener la zona horaria del usuario

Utilice estas variables del sistema para obtener información sobre la zona horaria del usuario:

  • Conversation.LocalTimeZone (lectura y escritura): almacena la zona horaria del usuario del bot como una cadena. Opcionalmente, puede establecer esta variable en cualquier zona horaria que figure en el sitio web Noda Time.

  • Conversation.LocalTimeZoneOffset (solo lectura): obtiene el desplazamiento UTC de Conversation.LocalTimeZone y lo almacena como un valor de tiempo.

Definir manualmente la zona horaria del usuario

Copilot Studio Determina automáticamente la zona horaria del usuario cuando el agente le solicita una fecha y hora. También puede especificar manualmente la zona horaria.

  1. Abra el tema en el que desea configurar la zona horaria del usuario.

  2. Agregue un nodo Establecer valor de la variable.

    • Para Establecer variable, elija el tema del sistema Conversation.LocalTimeZone.

    • Para A valor, ingrese , uno de los valores de ID de zona del sitio web Noda Time; por ejempolo, America/Los_Angeles.

  3. Agregue un nodo Mensaje.

  4. En el cuadro de texto, escriba "La zona horaria local es:", luego seleccione Insertar variable ({x}) e inserte la variable Conversation.LocalTimeZone del sistema.

  5. Agregue un segundo nodo Mensaje.

  6. En el cuadro de texto, escriba "La diferencia de zona horaria local es:", luego seleccione Insertar variable ({x}) e inserte la variable Conversation.LocalTimeZoneOffset del sistema.

  7. Guarde y pruebe el agente.

    Captura de pantalla del panel de pruebas de agente.

Mostrar la fecha y hora en la zona horaria local

Copilot Studio almacena la fecha y hora en UTC. Antes de mostrar un valor de fecha y hora a los clientes, agregue la compensación de zona horaria para convertir el valor a la zona horaria local del usuario.

En este ejemplo, obtenemos la fecha y hora actuales usando la función Power Fx Now() y luego agregamos el desplazamiento de zona horaria. No es posible utilizar la variable de sistema Conversation.LocalTimeZoneOffset directamente en una fórmula de Power Fx. En su lugar, usamos un nodo Establecer Valor de Variable para crear una variable y luego asignarle el valor de Conversation.LocalTimeZoneOffset.

  1. Cree un tema y agregue la frase desencadenante "qué hora es".

  2. En el lienzo de creación, seleccione Agregar nodo (+). Seleccione Establecer el valor de una variable.

    • Para Establecer variable, cree una variable llamada offset.

    • Para Al valor, seleccione la variable del sistema Conversation.LocalTimeZoneOffset.

      Captura de pantalla de un nodo Establecer valor de variable que asigna un valor a la variable de compensación.

  3. Agregue un segundo nodo Establecer valor de la variable.

    • Para Establecer variable, cree una variable llamada nowLocal.

    • Para Al valor, introduzca la fórmula de Power Fx DateAdd(Now(), Topic.offset).

      Captura de pantalla de un nodo Establecer valor de variable que asigna un valor a la variable nowLocal.

  4. Agregue un nodo Mensaje. Introduzca el mensaje "La fecha y hora actuales son {Topic.nowLocal}".

  5. Pruebe el agente en el panel Probar agente para obtener la fecha y la hora en su zona horaria.

    Captura de pantalla de un agente respondiendo con la fecha y hora actuales en el panel Probar agente