Compartir por


Funcións Agora, Hoxe, IsToday, UTCNow, UTCToday, IsUTCToday

Aplícase a: Aplicacións de lenzo Fluxos de escritorio Dataverse columnas de fórmulas Aplicacións baseadas en modelos Power Pages Dataverse columnas de fórmulas Power Platform CLI

Devolve a data e hora actual e comproba se un valor de data e hora é hoxe.

Nota

Os comandos de PAC CLI pac power-fx non admiten UTCNow, UTCToday, e IsUTCToday funcións.

Descripción

A función Now devolve a data e hora actual como valor de data e hora.

A función Today devolve a data actual como valor de data e hora. A porción horaria é media noite. Today ten o mesmo valor ao longo dun día, desde a medianoite de hoxe ata a medianoite de mañá.

A función IsToday comproba se un valor de data e hora está entre a media noite de hoxe e a media noite de mañá. Esta función devolve un valor booleano (verdadeiro ou falso).

As funcións Now, Today e IsToday funcionan coa hora local do usuario actual.

As funcións UTCNow, UTCToday e IsUTCToday son as mesmas que as que non son UTC homólogos pero traballa con valores independentes da zona horaria e usa o tempo universal coordinado (UTC).

Nota

  • UTCNow, UTCToday e IsUTCToday só están dispoñibles en columnas de fórmulas de Microsoft Dataverse for Teams e só para campos e valores independentes da hora.
  • Now, Today e IsToday non están dispoñibles en columnas de fórmulas Dataverse for Teams xa que as avaliacións realízanse sen saber o fuso horario local do usuario actual.
    Máis información: Traballar con columnas de táboas de fórmulas en Dataverse for Teams

Vexa Data, hora e DataHora na documentación de tipos de datos e traballar con datas e horas para obter máis información.

Funcións volátiles

Now, Today, UTCNow e UTCToday son funcións volátiles. Estas funcións devolven un valor diferente para cada avaliación.

Cando se usa nunha fórmula de fluxo de datos, unha función volátil só devolverá un valor diferente só se se reevalúa a fórmula na que aparece. Se nada cambia na fórmula, terá o mesmo valor durante toda a execución da súa aplicación.

Por exemplo, un control de etiqueta con Label1.Text = Now() non cambiará mentres a aplicación estea activa. Só o peche e a reapertura da aplicación darán lugar a un valor novo.

A función reevaluarase se forma parte dunha fórmula na que algo máis cambiou. Por exemplo, se cambiamos o noso exemplo para implicar un control deslizante con Label1.Text = DateAdd( Now(), Slider1.Value, Minutes ), entón o tempo actual recupérase cada vez que cambie o valor do control deslizante e a vólvese avaliar a propiedade do texto da etiqueta.

Cando se usan nunha fórmula de comportamento, as funcións volátiles avaliaranse cada vez que se avalíe a fórmula de comportamento. Vexa a continuación un exemplo.

Sintaxe

Uso da hora local do usuario

Now()

Today()

IsToday( DateTime )

  • DateTime - Obrigatorio. Valor da data/hora para comprobar.

Usando o tempo universal coordinado (UTC)

UTCNow()

UTCToday()

IsUTCToday( TimeZoneIndependentTime )

  • TimeZoneIndependentDateTime - Obrigatorio. O valor de data/hora independente da zona horaria para probar.

Exemplos

Para os exemplos desta sección, a hora actual é 20:58 do 11 de xullo de 2021 na Zona horaria do Pacífico (UTC-8) e o idioma é en-us.

Fórmula Descripción Resultado
Text( Now(), "mm/dd/yyyy hh:mm:ss" ) Recupera a data e hora actual na zona horaria do usuario e móstraa como unha cadea. "07/11/2021 20:58:00"
Text( Today(), "mm/dd/yyyy hh:mm:ss" ) Recupera a data actual só, deixando a parte horaria como media noite e móstraa como unha cadea. "07/12/2021 00:00:00"
IsToday( Now() ) Comproba se o valor actual de data e hora está entre a media noite de hoxe e a media noite de mañá. true
IsToday( Today() ) Comproba se o valor actual de data está entre a media noite de hoxe e a media noite de mañá. true
Text( DateAdd( Now(), 12 ), "mm/dd/yyyy hh:mm:ss" ) Recupera a data e hora actual, engade 12 días ao resultado, e móstrao como unha cadea. "07/23/2021 20:58:00"
Text( DateAdd( Today(), 12 ), "mm/dd/yyyy hh:mm:ss" ) Recupera a data actual, engade 12 días ao resultado, e móstrao como unha cadea. "07/23/2021 00:00:00"
IsToday( DateAdd( Now(), 12 ) ) Comproba se o valor actual de data e hora, mais 12 días, está entre a media noite de hoxe e a media noite de mañá. false
IsToday( DateAdd( Today(), 12 ) ) Comproba se o valor actual de data, mais 12 días, está entre a media noite de hoxe e a media noite de mañá. false
Hour( UTCNow() ) Recupera a data e hora actual en UTC e extrae só a hora, que é 8 horas por diante da hora local. 4
Day( UTCToday() ) Recupera a data actual só en UTC e extrae o día, que é 1 día antes da hora local. 12
IsUTCToday( UTCNow() ) Comproba se o valor actual de data e hora está entre a media noite de hoxe e a media noite de mañá, todo en hora UTC. true
IsUTCToday( UTCToday() ) Comproba se o valor actual de data e hora está entre a media noite de hoxe e a media noite de mañá, todo en hora UTC. true

Amosar un reloxo que se actualiza en tempo real

  1. Engade un control de Temporizador, establece a súa propiedade de Duración en 1000 e establece a súa propiedade Repetir en verdadeiro.

    O temporizador funcionará durante un segundo, empeza automaticamente e continúa ese padrón.

  2. Estableza a propiedade OnTimerEnd do control nesta fórmula:

    Set( CurrentTime, Now() )

    Sempre que se inicia o temporizador (despois de cada segundo), esta fórmula establece a variable global CurrentTime ao valor actual da función Now.

    Pantalla que contén un control de temporizador coa fórmula OnTimerEnd = Set(CurrentTime, Now()).

  3. Engada un control de Etiqueta e configure a súa propiedade de Texto nesta fórmula:

    Text( CurrentTime, LongTime24 )

    Use a función Text para formatar a data e hora que queira, ou axustar esta propiedade a só CurrentTime para mostrar horas e minutos pero non segundos.

    Pantalla que contén un control de etiqueta coa propiedade de texto axustada en Text( CurrentTime, LongTime24).

  4. Previsualice a aplicación premendo F5 e, a continuación, inicie o temporizador facendo clic ou tocándoa.

    A etiqueta mostra continuamente a hora actual, ata o segundo.

    Catro pantallas que mostran catro valores horarios (13:50:22, 13:50:45, 13:51:03 e 13:51:25).

  5. Axuste a propiedade AutoStartdo temporizador en verdadeiro e a súa propiedadeVisible enfalso.

    O temporizador é invisible e comeza automaticamente.

  6. Estableza a propiedade OnStart da pantalla para que a variable CurrentTime teña un valor válido, como neste exemplo:

    Set(CurrentTime, Now())

    A etiqueta aparece tan pronto como a aplicación se inicia (antes de que o temporizador se execute durante un segundo).