Personalizar o dar formato a los valores de fecha y hora en un flujo
Este artículo proporciona pasos para personalizar o dar formato a los valores de fecha y hora en un flujo de Power Automate .
Al trabajar con valores de fecha y hora en un flujo de Power Automate, es posible que el formato de fecha y hora no sea el que esperaba o que desee personalizar el formato de la salida. Puede hacer esto pasando cadenas de formato a la función formatDateTime.
Formato de fecha y hora
La función formatDateTime()
en Power Automate le permite manipular y formatear valores de fecha y hora en varios formatos de visualización. También ofrece una manera sencilla de manejar datos y horas en diferentes zonas horarias.
La función formatDateTime()
toma dos parámetros:
Marca de tiempo: la marca de tiempo es el valor de fecha y hora al que debe darse formato.
Puede ser una cadena manual o contenido dinámico. Cuando se introduce manualmente, se espera que la marca de tiempo siga el formato ISO 8601 ("aaaa-MM-ddTHH:mm:ssZ").
Cadena de formato: la cadena de formato especifica el formato de salida para la fecha y la hora.
El parámetro de cadena de formato de la función formatDateTime() puede ser una cadena de formato estándar o una cadena de formato personalizada.
Cadenas de formato estándar
Una cadena de formato estándar utiliza un solo carácter (por ejemplo, d, g o G) como especificador de formato.
Ejemplos
La cadena de formato
g
corresponde al patrón de fecha/hora general (tiempo corto):formatDateTime('2009-06-15T13:45:30', 'g')
// Devuelve el formato 6/15/2009 1:45 PMLa cadena de formato
D
corresponde al patrón de fecha larga:formatDateTime('2009-06-15T13:45:30', 'D')
// Devuelve el formato lunes 15 de junio de 2009
Para obtener más información y ejemplos sobre el uso de cadenas de formato de fecha y hora estándar, vaya a Cadenas de formato estándar de fecha y hora.
Cadenas de formato personalizado
Una cadena de formato personalizado es cualquier cadena con más de un carácter (por ejemplo, M/dd/yyyy h:mm tt
) que puede controlar la visibilidad, el posicionamiento y la precisión del mes, día, año, hora, segundo, etc. del valor de fecha y hora.
Ejemplos
La cadena de formato
M/dd/yyyy h:mm tt
representa el mismo patrón que la cadena de formato estándarg
como se describe en Cadenas de formato estándar:formatDateTime('2009-06-15T13:45:30', 'M/dd/yyyy h:mm tt')
// Devuelve el formato 6/15/2009 1:45 PMLa cadena de formato
HH:mm:ss tt
devuelve el formato de 24 horas:formatDateTime('2009-06-15T13:45:30', 'M/dd/yyyy HH:mm:ss tt')
// Devuelve el formato 6/15/2009 13:45:30 PMLa cadena de formato hh:mm:ss tt devuelve el formato de 12 horas:
formatDateTime('2009-06-15T13:45:30', 'yyyy/MM/dd hh:mm:ss tt')
// Devuelve el formato 2009/06/15 1:45:30 PMFunción
utcNow()
utilizada como marca de tiempo para recuperar automáticamente la fecha y hora actuales en UTC, y la cadena de formatodd-MM-yyyy
para mostrar la fecha y hora:formatDateTime(utcNow(), 'MMMM dd, yyyy, HH:mm')
//Devuelve la fecha y hora actual en el formato 15 de junio de 2009, 16:50Función
utcNow()
utilizada como marca de tiempo para recuperar automáticamente la fecha y hora actuales en UTC, y la cadena de formatodd-MM-yyyy
para mostrar la fecha pero no la hora:formatDateTime(utcNow(), 'dd-MM-yyyy')
//Devuelve la fecha y hora actual en el formato 15-06-2009
Para obtener más información y ejemplos sobre el uso de cadenas de formato de fecha y hora personalizadas, vaya a Cadenas de formato personalizadas de fecha y hora.
Usar en un flujo
Para utilizar un valor de fecha y hora en un flujo, siga estos pasos.
En el flujo, seleccione el campo de entrada donde desea ingresar el valor de fecha y hora formateado.
Vaya a Agregar contenido dinámico y seleccione la pestaña Expresión para abrir el editor de expresiones.
Escriba formatDateTime().
Alternativamente, búsquelo en las funciones Fecha y hora.
Proporcione el valor al que se le dará formato, entre comillas simples.
Se puede utilizar contenido dinámico, pero no debe estar entre comillas simples.
Proporcione la cadena de formato, entre comillas simples.
La expresión completa debe parecerse a los ejemplos siguientes:
formatDateTime('<your-value>', 'dd/MM/yyyy hh:mm tt')
formatDateTime('<dynamic-value>', 'dd/MM/yyyy hh:mm tt')
Seleccione Aceptar.
Ejemplo con contenido dinámico
Los contenidos dinámicos son variables producidas por desencadenadores y acciones dentro de un diagrama de flujo. Permiten a los usuarios seleccionar referencias de campos de pasos anteriores y escribir expresiones.
Este ejemplo recorre un flujo simple que demuestra el uso de la función formatDateTime()
con contenido dinámico. El desencadenador utilizado en este ejemplo es un flujo desencadenado manualmente que requiere la entrada del usuario.
Inicie sesión en Power Automate.
Configure el desencadenador del flujo. Este ejemplo utiliza Fecha como entrada.
En el panel de navegación izquierdo, seleccione Crear>Flujo de nube instantáneo.
En el campo Nombre del flujo, escriba un nombre para el flujo.
En la lista Elija cómo se desencadena este flujo, seleccione Desencadenar un flujo manualmente.
Seleccione Crear.
Seleccione la tarjeta Desencadenar un flujo manualmente.
En la pestaña Parámetros, seleccione + Agregar una entrada>Fecha.
En el campo de la derecha, introduzca 2023-10-22.
Agregue la acción Enviar un correo electrónico (V2).
En la tarjeta Desencadenar un flujo manualmente, seleccione el signo más (+) >Agregar una acción.
En el campo Buscar, comience a escribir Enviar un correo electrónico (v2) y selecciónelo de la lista cuando vea él.
Seleccione el campo Cuerpo en el correo electrónico y luego seleccione fx (Insertar expresión).
Seleccione Contenido dinámico.
El contenido dinámico que se muestra aquí está relacionado con el desencadenador. Vincula el desencadenador y las acciones que deben tomarse.
En el campo de arriba Contenido dinámico, comience a escribir formatDateTime y selecciónelo en el menú desplegable cuando aparezca.
Desplácese hacia abajo en la lista Contenido dinámico y seleccione Fecha del desencadenamiento. Si no aparece, seleccione Ver más.
El contenido dinámico de esta variable proviene del campo de fecha en el disparador.
Proporcione la cadena de formato (entre comillas simples) según el formato de salida deseado para la fecha. En este ejemplo se utiliza el formato MM/dd/aaaa.
La expresión completa tiene este aspecto:
formatDateTime(triggerBody()?['date'], 'MM/dd/yyyy')
Seleccione Agregar.
En la pestaña Parámetros, inserte un correo electrónico en el campo Para y un asunto en el campo Asunto.
Seleccione Guardar.
Después de ejecutar el flujo, el correo electrónico recibido muestra la fecha en el formato MM/dd/aaaa especificado.
Ejemplo con Convertir una zona horaria
Power Automate utiliza la hora universal coordinada (UTC) de forma predeterminada. Para manejar valores de fecha y hora en otras zonas horarias, puede utilizar formatDateTime
junto con la función convertTimeZone
.
Por ejemplo, para mostrar la hora actual en Hora estándar del Este, puede utilizar la siguiente sintaxis:
formatDateTime(convertTimeZone(utcNow(), 'UTC', 'Eastern Standard Time'), 'yyyy-MM-dd HH:mm:ss')
// Devuelve la fecha y hora ajustada a la Hora estándar del Este
Información relacionada
Para obtener más información sobre la función de fecha y hora, seleccione los siguientes artículos.