Compartir a través de


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

Se aplica a: Aplicaciones de Canvas Flujos de Listo Dataverse Columnas de fórmulas Aplicaciones basadas en modelos Power Pages 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 power-fx de la CLI de PAC no admiten las funciones UTCNow, UTCToday y 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. Hoy tiene el mismo valor durante todo el día, desde la medianoche de hoy hasta la medianoche de mañana.

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 , Hoy y IsToday funcionan con la hora local del usuario actual.

Las funciones UTCNow, UTCToday y IsUTCToday son las mismas que sus contrapartes no UTC, pero funcionan con valores independientes de la zona horaria y utilizan el Tiempo Universal Coordinado (UTC).

Nota

  • UTCNow, UTCToday y IsUTCToday solo están disponibles en Microsoft Dataverse for Teams columnas de fórmula y solo para campos y valores independientes del tiempo.
  • Ahora, , Hoy y EsHoy no están disponibles en las columnas de fórmula ya que las evaluaciones se realizan sin el conocimiento de la zona horaria local del usuario actual. Dataverse for Teams
    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

Ahora()

Hoy()

EsHoy( FechaHora )

  • DateTime - Obligatorio. El valor de fecha y hora para comprobar.

Uso del tiempo universal coordinado (UTC)

UTCAhora()

UTCHoy()

IsUTCToday( Hora independiente de la zona horaria )

  • TimeZoneIndependentDateTime : Obligatorio. 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
Texto(Ahora(), "mm/dd/aaaa 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"
Texto(Hoy(), "mm/dd/aaaa 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"
EsHoy(Ahora()) Comprueba si la fecha y hora actuales se encuentran entre hoy a medianoche y mañana a medianoche. verdadero
EsHoy( Hoy() ) Comprueba si la fecha actual se encuentra entre hoy a medianoche y mañana a medianoche. verdadero
Texto( DateAdd( Now(), 12 ), "mm/dd/aaaa 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"
Texto(FechaAñadir(Hoy(), 12), "mm/dd/aaaa 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(FechaAñadir(Ahora(), 12 ) ) Comprueba si la fecha y hora actuales, más 12 días, se encuentran entre hoy a medianoche y mañana a medianoche. FALSO
IsToday(FechaAgregada(Hoy(), 12 ) ) Comprueba si la fecha actual, más 12 días, se encuentra entre hoy a medianoche y mañana a medianoche. FALSO
Hora(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
Día( UTCHoy() ) Obtiene solo la fecha actual en UTC y extrae el día, que está 1 día por delante de la hora local. 12
EsUTCToday(UTCNow()) Comprueba si la fecha y hora actuales se encuentran entre hoy a medianoche y mañana a medianoche, todo ello en hora UTC. verdadero
EsUTCToday( UTCToday() ) Comprueba si la fecha actual se encuentra entre hoy a medianoche y mañana a medianoche, todo ello en hora UTC. verdadero

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:

    Establecer(HoraActual, Ahora())

    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:

    Texto(HoraActual,HoraLong24)

    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:

    Establecer(HoraActual, Ahora())

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