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:
Si la variable del sistema
Conversation.LocalTimeZone
se establece en una zona horaria válida de Noda Time, úsela como zona horaria.Si el canal incluía la zona horaria local en el mensaje del usuario, utilícela.
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 deConversation.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.
Abra el tema en el que desea configurar la zona horaria del usuario.
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
.
Agregue un nodo Mensaje.
En el cuadro de texto, escriba "La zona horaria local es:", luego seleccione Insertar variable ({x}) e inserte la variable
Conversation.LocalTimeZone
del sistema.Agregue un segundo nodo Mensaje.
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.Guarde y pruebe el 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
.
Cree un tema y agregue la frase desencadenante "qué hora es".
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
.
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)
.
Agregue un nodo Mensaje. Introduzca el mensaje "La fecha y hora actuales son {Topic.nowLocal}".
Pruebe el agente en el panel Probar agente para obtener la fecha y la hora en su zona horaria.