08/04/2015
En el mundo de la automatización de procesos, manejar fechas y horas con precisión no es un lujo, es una necesidad fundamental. Ya sea para registrar cuándo ocurrió un evento, nombrar archivos con una marca de tiempo, calcular fechas de vencimiento o simplemente ejecutar una acción en un momento específico, el tiempo es un factor crucial. Aquí es donde entra en juego una de las funciones más importantes de Power Automate: utcnow(). Si alguna vez te has preguntado cómo obtener la fecha y hora actual de manera fiable en tus flujos, has llegado al lugar correcto. Esta guía completa te enseñará todo lo que necesitas saber para dominar esta poderosa función.

- ¿Qué es Exactamente la Función utcNow()?
- El Desafío de las Zonas Horarias: Convirtiendo UTC a tu Hora Local
- La Alternativa Visual: Acciones en Lugar de Expresiones
- Dando Forma al Tiempo: Formateo Avanzado de Fechas y Horas
- Manipulación del Tiempo: Sumar y Restar Días y Horas
- Preguntas Frecuentes (FAQ)
- Conclusión
¿Qué es Exactamente la Función utcNow()?
La función utcnow() en Power Automate es una expresión que devuelve la fecha y hora actuales en un formato estandarizado. Pero, ¿qué significa la parte "UTC"? UTC son las siglas de Tiempo Universal Coordinado (Coordinated Universal Time), el principal estándar de tiempo por el cual el mundo regula los relojes y el tiempo.
¿Por qué es tan importante usar UTC en lugar de, por ejemplo, la hora local del servidor? La respuesta es la consistencia. En un entorno global, donde los usuarios y los sistemas pueden estar en diferentes partes del mundo, usar una hora local generaría un caos de ambigüedad. UTC elimina este problema al proporcionar un punto de referencia único y universal, que no se ve afectado por los horarios de verano ni las diferencias regionales.
Cuando invocas utcnow(), obtienes una cadena de texto con un formato muy específico, conocido como ISO 8601:
yyyy-MM-ddTHH:mm:ss.fffffffZ
- yyyy-MM-dd: Año, mes y día.
- T: Un separador literal que indica el comienzo de la parte de la hora.
- HH:mm:ss: Hora, minutos y segundos en formato de 24 horas.
- .fffffff: Fracciones de segundo, que proporcionan una alta precisión.
- Z: Indica que la hora está en UTC (también conocido como "Zulu time").
El Desafío de las Zonas Horarias: Convirtiendo UTC a tu Hora Local
Obtener la hora en UTC es perfecto para la lógica interna de un sistema, pero para la interacción humana, generalmente necesitamos ver esa hora en nuestra zona horaria local. Afortunadamente, Power Automate nos proporciona una función específica para esta tarea: convertFromUtc().
Esta función requiere tres argumentos principales:
- La marca de tiempo en UTC que se va a convertir (en nuestro caso, el resultado de
utcnow()). - La zona horaria de destino a la que queremos convertir.
- El formato en el que queremos que se muestre la fecha/hora final.
Veamos un ejemplo práctico. Si quisiéramos obtener la fecha actual para la Zona Horaria del Este (EE. UU.) y solo nos interesa la fecha (no la hora), usaríamos la siguiente expresión:
convertFromUtc(utcNow(), 'Eastern Standard Time', 'yyyy-MM-dd')
Al ejecutar esta expresión, Power Automate tomará la hora UTC actual, la ajustará restando las horas correspondientes a 'Eastern Standard Time' y luego la formateará para mostrar únicamente el año, el mes y el día. Microsoft mantiene una lista oficial de las cadenas de texto válidas para las zonas horarias que puedes consultar para encontrar la tuya.

La Alternativa Visual: Acciones en Lugar de Expresiones
Si escribir expresiones te resulta intimidante o prefieres un enfoque más visual y guiado, ¡estás de suerte! Power Automate ofrece acciones que replican la funcionalidad de estas expresiones.
Para obtener la fecha actual en tu zona horaria, puedes seguir estos dos sencillos pasos:
- Añadir la acción "Hora actual": Busca y agrega esta acción a tu flujo. Internamente, esta acción es el equivalente exacto de ejecutar la función
utcnow(). Su salida será la fecha y hora actuales en UTC. - Añadir la acción "Convertir zona horaria": Justo después de la acción anterior, agrega esta. Configúrala de la siguiente manera:
- Hora base: Usa el contenido dinámico de la salida de la acción "Hora actual".
- Zona horaria de origen: Selecciona "(UTC) Hora universal coordinada".
- Zona horaria de destino: Elige tu zona horaria local de la lista desplegable.
- Cadena de formato: Selecciona uno de los formatos predefinidos o elige "Introducir valor personalizado" y escribe el formato que desees, como
yyyy-MM-dd.
Este método de dos acciones es muy claro y fácil de seguir, especialmente para principiantes. La desventaja es que añade más pasos a tu flujo, mientras que una sola expresión puede hacer lo mismo de forma más compacta dentro de otra acción.
Dando Forma al Tiempo: Formateo Avanzado de Fechas y Horas
Una de las características más flexibles de utcnow() es que puedes especificar el formato de salida directamente dentro de la función, sin necesidad de usar convertFromUtc si no necesitas cambiar la zona horaria. Esto es increíblemente útil para generar nombres de archivo, crear cadenas de texto para correos electrónicos o guardar datos en un formato específico.
Por ejemplo, si quieres obtener la fecha actual en el formato día-mes-año, puedes usar:
utcNow('dd-MM-yyyy')
A continuación, se presentan tablas con los códigos de formato más comunes para que puedas construir la cadena de fecha y hora perfecta para tus necesidades.

Tabla de Formatos de Fecha
| Código | Salida de Ejemplo (para 09/Sept/2024) | Descripción |
|---|---|---|
| d | 9 | Día del mes (1-31) |
| dd | 09 | Día del mes, siempre con dos dígitos (01-31) |
| ddd | lun. | Nombre abreviado del día de la semana |
| dddd | lunes | Nombre completo del día de la semana |
| M | 9 | Mes (1-12) |
| MM | 09 | Mes, siempre con dos dígitos (01-12) |
| MMM | sep. | Nombre abreviado del mes |
| MMMM | septiembre | Nombre completo del mes |
| yy | 24 | Año con dos dígitos |
| yyyy | 2024 | Año con cuatro dígitos |
Tabla de Formatos de Hora
| Código | Salida de Ejemplo (para 09:30 PM) | Descripción |
|---|---|---|
| h | 9 | Hora en formato de 12 horas (1-12) |
| hh | 09 | Hora en formato de 12 horas, con dos dígitos (01-12) |
| H | 21 | Hora en formato de 24 horas (0-23) |
| HH | 21 | Hora en formato de 24 horas, con dos dígitos (00-23) |
| m | 30 | Minuto (0-59) |
| mm | 30 | Minuto, siempre con dos dígitos (00-59) |
| s | 45 | Segundo (0-59) |
| ss | 45 | Segundo, siempre con dos dígitos (00-59) |
| tt | PM | Designador AM/PM |
Manipulación del Tiempo: Sumar y Restar Días y Horas
Obtener la hora actual es solo el principio. A menudo, necesitamos realizar cálculos con ella. Por ejemplo, enviar un recordatorio un día antes de la fecha de vencimiento de una tarea. Para esto, Power Automate nos ofrece funciones como addDays() y addHours().
Para restar un día a la fecha actual, simplemente usamos un número negativo en la función addDays:
addDays(utcNow(), -1)
Esta expresión es perfecta para comparar con fechas de vencimiento futuras. De manera similar, para obtener la fecha de mañana, usaríamos un número positivo:
addDays(utcNow(), 1)
Lo mismo aplica para las horas. Si necesitas establecer una fecha límite 5 horas en el futuro, puedes usar:
addHours(utcNow(), 5)
Estas funciones de cálculo son increíblemente potentes y abren un mundo de posibilidades para crear flujos de trabajo dinámicos y sensibles al tiempo.
Preguntas Frecuentes (FAQ)
¿Por qué Power Automate usa UTC por defecto?
Power Automate utiliza UTC para garantizar la consistencia y eliminar la ambigüedad en los flujos que pueden ser utilizados por personas o sistemas en diferentes zonas horarias. Proporciona un estándar de tiempo único y fiable para toda la lógica de automatización.
¿Puedo obtener solo la fecha sin la hora?
¡Sí! La forma más sencilla es usar un formato específico. Puedes usar utcNow('yyyy-MM-dd') para obtener solo la fecha en UTC, o combinarlo con la conversión de zona horaria, como en convertFromUtc(utcNow(), 'Tu Zona Horaria', 'yyyy-MM-dd').

¿Hay alguna diferencia entre `utcNow()` y `utcToday()`?
Sí, y es una diferencia importante. Mientras que utcnow() devuelve la fecha y hora actuales con alta precisión (hasta fracciones de segundo), la función utcToday() devuelve solo la fecha actual, con la parte de la hora siempre establecida en medianoche (00:00:00). Usa utcToday() cuando solo te importa el día y no la hora específica.
¿Es mejor usar las acciones visuales o las expresiones escritas?
Depende de tu nivel de comodidad y del contexto. Las acciones ("Hora actual" y "Convertir zona horaria") son excelentes para principiantes y para flujos donde la claridad visual es prioritaria. Las expresiones son más rápidas de implementar para usuarios experimentados, ocupan menos espacio en el lienzo del flujo y pueden anidarse dentro de otras acciones, lo que las hace más flexibles y potentes.
Conclusión
La función utcnow() es mucho más que una simple forma de obtener la hora. Es la piedra angular para manejar cualquier operación relacionada con el tiempo dentro de Power Automate. Hemos visto cómo obtener la hora universal, cómo convertirla a nuestra realidad local con convertFromUtc, cómo darle el formato exacto que necesitamos y cómo realizar cálculos para sumar o restar tiempo. Dominar estas herramientas te permitirá construir flujos más inteligentes, dinámicos y, sobre todo, precisos. Ahora tienes el conocimiento para tomar el control del tiempo en tus automatizaciones y llevar tus flujos al siguiente nivel.
Si quieres conocer otros artículos parecidos a Domina la función utcNow() en Power Automate puedes visitar la categoría Juegos.
