What does utcnow do?

Domina la función utcNow() en Power Automate

08/04/2015

Valoración: 4.57 (8948 votos)

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.

What is the difference between utcnow and utctoday?
The result of the UTCNOW function changes only when the formula is refreshed. It is not continuously updated. The UTCTODAY function returns the same date but is not precise with regard to time; the time returned is always 12:00:00 AM and only the date is updated. --  TODAY returns today, as a date. NOW also includes the time
Índice de Contenido

¿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:

  1. La marca de tiempo en UTC que se va a convertir (en nuestro caso, el resultado de utcnow()).
  2. La zona horaria de destino a la que queremos convertir.
  3. 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.

What is datetime utcnow?
DateTime.UtcNow tells you the date and time as it would be in Coordinated Universal Time, which is also called the Greenwich Mean Time time zone - basically like it would be if you were in London England, but not during the summer. DateTime.Now gives the date and time as it would appear to someone in your current locale.

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:

  1. 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.
  2. 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.

What is utcnow function in power automate?
The utcNow () function in Power Automate gets the current date and time in UTC format (Coordinated Universal Time), a standardized time zone that ensures consistency, regardless of where users are located. Syntax: utcNow = It is mandatory to give utcNow () to get the current date and time.

Tabla de Formatos de Fecha

CódigoSalida de Ejemplo (para 09/Sept/2024)Descripción
d9Día del mes (1-31)
dd09Día del mes, siempre con dos dígitos (01-31)
dddlun.Nombre abreviado del día de la semana
ddddlunesNombre completo del día de la semana
M9Mes (1-12)
MM09Mes, siempre con dos dígitos (01-12)
MMMsep.Nombre abreviado del mes
MMMMseptiembreNombre completo del mes
yy24Año con dos dígitos
yyyy2024Año con cuatro dígitos

Tabla de Formatos de Hora

CódigoSalida de Ejemplo (para 09:30 PM)Descripción
h9Hora en formato de 12 horas (1-12)
hh09Hora en formato de 12 horas, con dos dígitos (01-12)
H21Hora en formato de 24 horas (0-23)
HH21Hora en formato de 24 horas, con dos dígitos (00-23)
m30Minuto (0-59)
mm30Minuto, siempre con dos dígitos (00-59)
s45Segundo (0-59)
ss45Segundo, siempre con dos dígitos (00-59)
ttPMDesignador 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').

What does utcnow do?
The utcNow function will return the current date and time in Universal Time Coordinated (UTC). UTC is a 24-hour time standard most commonly used as a basis for comparing timezones. A time zone will be defined as its offset from UTC. For example, eastern standard time can be described as UTC-05:00 since it is 5 hours behind UTC.

¿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.

Subir