Funciones Now, Today, IsToday, UTCNow, UTCToday, IsUTCToday

Se aplica a: Aplicaciones de lienzo Flujos de escritorio Columnas de fórmula de Dataverse Aplicaciones basadas en modelos Power Platform CLI

Devuelve la fecha y hora actuales y comprueba si un valor de fecha y hora es el día de hoy.

Nota

Los comandos PAC CLI pac power-fx no son compatibles con UTCNow, UTCToday y las funciones IsUTCToday .

Description

La función Now devuelve la fecha y hora actuales como un valor de fecha y hora.

La función Today devuelve la fecha actual como un valor de fecha y hora. La parte de la hora es la medianoche. Today tiene el mismo valor a lo largo del día, desde hoy a medianoche hasta mañana a medianoche.

La función IsToday comprueba si un valor de fecha y hora está comprendido entre hoy a medianoche y mañana a medianoche. Con esta función, se devuelve un valor booleano (true o false).

Las funciones Now, Today y IsToday funcionan con la hora local del usuario actual.

Las funciones UTCNow, UTCToday e IsUTCToday son iguales a las no referidas a UTC, pero utilizan valores independientes de la zona horaria, pues usan el tiempo universal coordinado (UTC).

Nota

  • UTCNow, UTCToday y IsUTCToday solo están disponibles en columnas de fórmula de Microsoft Dataverse for Teams, y solo para campos y valores independientes del tiempo.
  • Now, Today y IsToday no están disponibles en columnas de fórmula de Dataverse for Teams, ya que las evaluaciones se realizan sin el conocimiento de la zona horaria local del usuario actual.
    Más información: Trabajar con columnas de tablas de fórmulas en Dataverse for Teams

Consulte Fecha, Hora y Fecha y hora en la documentación de tipos de datos y trabajar con fechas y horas para obtener más información.

Funciones volátiles

Now, Today, UTCNow y UTCToday son funciones volátiles. Estas funciones devuelven un valor diferente para cada evaluación.

Cuando se usa en una fórmula de flujo de datos, una función volátil solo devuelve un valor diferente si se vuelve a evaluar la fórmula en la que aparece. Si no hay ningún otro cambio en la fórmula, presenta el mismo valor durante la ejecución de la aplicación.

Por ejemplo, un control de etiqueta con Label1.Text = Now() no cambiará mientras la aplicación esté activa. Solo se generará un nuevo valor si se cierra y se vuelve a abrir la aplicación.

Si la función forma parte de una fórmula en la que haya cambiado algún elemento más, se volverá a evaluar. Por ejemplo, si modificamos el ejemplo para incluir un control deslizante con Label1.Text = DateAdd( Now(), Slider1.Value, Minutes ), se recuperará la hora actual cada vez que cambie el valor del control Slider. Asimismo, se volverá a evaluar la propiedad de texto de la etiqueta.

Cuando se usa en una fórmula de comportamiento, las funciones volátiles se evalúan cada vez que se evalúa la fórmula de comportamiento. Encontrará un ejemplo a continuación.

Sintaxis

Uso de la hora local del usuario

Now()

Today()

IsToday( DateTime )

  • DateTime: requerido. El valor de fecha y hora para comprobar.

Uso del tiempo universal coordinado (UTC)

UTCNow()

UTCToday()

IsUTCToday( TimeZoneIndependentTime )

  • TimeZoneIndependentDateTime - Requerido. El valor de fecha/hora independiente de la zona horaria para probar.

Ejemplos

Para los ejemplos de esta sección, la hora actual es 20:58 del 11 de julio de 2021 en la zona horaria del Pacífico (UTC-8) y el idioma es-us.

Fórmula Descripción Resultado
Text( Now(), "mm/dd/yyyy hh:mm:ss" ) Recupera la fecha y la hora actuales en la zona horaria del usuario y las muestra como una cadena. "07/11/2021 20:58:00"
Text( Today(), "mm/dd/yyyy hh:mm:ss" ) Recupera solo la fecha actual, dejando la parte de hora como medianoche, y la muestra como una cadena. "07/12/2021 00:00:00"
IsToday( Now() ) Comprueba si la fecha y hora actuales se encuentran entre hoy a medianoche y mañana a medianoche. true
IsToday( Today() ) Comprueba si la fecha actual se encuentra entre hoy a medianoche y mañana a medianoche. true
Text( DateAdd( Now(), 12 ), "mm/dd/yyyy hh:mm:ss" ) Recupera la fecha y hora actuales, agrega 12 días al resultado y lo muestra como una cadena. "07/23/2021 20:58:00"
Text( DateAdd( Today(), 12 ), "mm/dd/yyyy hh:mm:ss" ) Recupera la fecha actual, agrega 12 días al resultado y lo muestra como una cadena. "07/23/2021 00:00:00"
IsToday( DateAdd( Now(), 12 ) ) Comprueba si la fecha y hora actuales, más 12 días, se encuentran entre hoy a medianoche y mañana a medianoche. false
IsToday( DateAdd( Today(), 12 ) ) Comprueba si la fecha actual, más 12 días, se encuentra entre hoy a medianoche y mañana a medianoche. false
Hour( UTCNow() ) Recupera la fecha y hora actual en UTC y extrae solo la hora, que está 8 horas por delante de la hora local. 4
Day( UTCToday() ) Obtiene solo la fecha actual en UTC y extrae el día, que está 1 día por delante de la hora local. 12
IsUTCToday( UTCNow() ) Comprueba si la fecha y hora actuales se encuentran entre hoy a medianoche y mañana a medianoche, todo ello en hora UTC. true
IsUTCToday( UTCToday() ) Comprueba si la fecha actual se encuentra entre hoy a medianoche y mañana a medianoche, todo ello en hora UTC. true

Mostrar un reloj actualizado en tiempo real

  1. Agregue un control Timer, establezca su propiedad Duration en 1000 y establezca su propiedad Repeat en true.

    El temporizador se ejecutará durante un segundo y volverá a empezar automáticamente, y así sucesivamente.

  2. Establezca la propiedad OnTimerEnd del control en esta fórmula:

    Set(CurrentTime, Now())

    Cada vez que el temporizador vuelve a empezar, es decir, cada segundo, esta fórmula establece la variable global CurrentTime en el valor actual de la función Now.

    Pantalla con un control de temporizador con la fórmula OnTimerEnd = Set(CurrentTime, Now()).

  3. Agregue un control Label y establezca su propiedad Text en esta fórmula:

    Text( CurrentTime, LongTime24 )

    Use la función Text para aplicar el formato que quiera a la fecha y la hora o establezca esta propiedad en CurrentTime para que se muestren las horas y los minutos, sin los segundos.

    Pantalla con un control de etiqueta con la propiedad Text establecida en Text( CurrentTime, LongTime24).

  4. Pulse F5 para obtener una versión preliminar de la aplicación y, a continuación, inicie el temporizador. Para ello, haga clic en él o púlselo.

    La etiqueta muestra la hora local de forma continua, segundo a segundo.

    Cuatro pantallas en las que se muestran cuatro valores de hora (13:50:22, 13:50:45, 13:51:03 y 13:51:25).

  5. Establezca la propiedad AutoStart del temporizador en true y la propiedad Visible en false.

    El temporizador es invisible y se inicia automáticamente.

  6. Establezca la propiedad OnStart de la pantalla de modo que la variable CurrentTime tenga un valor válido, como en este ejemplo:

    Set(CurrentTime, Now())

    La etiqueta aparece en cuanto se inicia la aplicación, antes de que el temporizador se ejecute durante un segundo completo.