Funções Now, Today, IsToday, UTCNow, UTCToday, IsUTCToday

Aplica-se a: Aplicativos de tela Fluxos de área de trabalho Colunas de fórmula do Dataverse Aplicativos baseados em modelo Power Platform CLI

Retorna a data e hora atuais e testa se um valor de data/hora é hoje.

Observação

Os comandos pac power-fx da CLI do PAC não oferecem suporte às funções UTCNow, UTCToday e IsUTCToday.

Description

A função Now retorna a data atual e a hora como um valor de data/hora.

A função Today retorna a data atual como um valor de data/hora. A parte da hora é meia-noite. Today tem o mesmo valor ao longo do dia, da meia-noite de hoje até a meia-noite de amanhã.

A função IsToday testa se um valor de data/hora está entre meia-noite de hoje e meia-noite de amanhã. Essa função retorna um valor booliano (true ou false).

As funções Now, Today e IsToday funcionam com o horário local do usuário atual.

As funções UTCNow, UTCToday e IsUTCToday são iguais às suas equivalentes não UTC, mas funcionam com valores independentes de fuso horário e usam o Tempo Universal Coordenado (UTC).

Nota

  • UTCNow, UTCToday e IsUTCToday só estão disponíveis nas colunas de fórmulas do Microsoft Dataverse for Teams e apenas para campos e valores independentes de horário.
  • Now, Today e IsToday não estão disponíveis nas colunas de fórmulas do Dataverse for Teams, pois as avaliações são feitas sem o conhecimento do fuso horário local do usuário atual.
    Mais informações: Trabalhar com colunas da tabela de fórmulas no Dataverse for Teams

Consulte Data, hora e DateTime na documentação de tipos de dados e como trabalhar com datas e horários para obter mais informações.

Funções voláteis

Now, Today, UTCNow e UTCToday são funções voláteis. Essas funções retornam um valor diferente para cada avaliação.

Quando usada em uma fórmula de fluxo de dados, uma função volátil retornará um valor diferente apenas se a fórmula em que ela aparece for reavaliada. Se nada mais mudar na fórmula, ela terá o mesmo valor durante a execução do aplicativo.

Por exemplo, um controle de rótulo com Label1.Text = Now() não será alterado enquanto o aplicativo estiver ativo. Somente fechar e abrir o aplicativo novamente resultará em um novo valor.

A função será reavaliada se fizer parte de uma fórmula em que algo tenha sido alterado. Por exemplo, se o exemplo for alterado para envolver um controle deslizante com Label1.Text = DateAdd( Now(), Slider1.Value, Minutes ), o horário atual será recuperado toda vez que o valor do controle Slider for alterado e a propriedade de texto do rótulo for reavaliada.

Quando usadas em uma fórmula de comportamento, as funções voláteis serão avaliadas toda vez que a fórmula de comportamento for avaliada. Veja um exemplo abaixo.

Sintaxe

Usar o horário local do usuário

Now()

Today()

IsToday( DateTime )

  • DateTime - obrigatório. O valor de data/hora a ser testado.

Usar o Tempo Universal Coordenado (UTC)

UTCNow()

UTCToday()

IsUTCToday(TimeZoneIndependentTime)

  • TimeZoneIndependentDateTime - obrigatório. O valor de data/hora independente do fuso horário a ser testado.

Exemplos

Para os exemplos desta seção, o horário atual é 20h58 em 11 de julho de 2021 no fuso horário do Pacífico (UTC-8), e o idioma é pt-br.

Fórmula Descrição Resultado
Text( Now(), "mm/dd/yyyy hh:mm:ss" ) Recupera a data e hora atuais no fuso horário do usuário e as exibe como uma cadeia de caracteres. "11/07/2021 20:58:00"
Text( Today(), "mm/dd/yyyy hh:mm:ss" ) Recupera somente a data atual, deixando a parte da hora como meia-noite e a exibe como uma cadeia de caracteres. "12/07/2021 00:00:00"
IsToday( Now() ) Testes se a data e hora atuais está entre meia-noite de hoje e meia-noite de amanhã. true
IsToday( Today() ) Testes se a data atual está entre meia-noite de hoje e meia-noite de amanhã. true
Text( DateAdd( Now(), 12 ), "mm/dd/yyyy hh:mm:ss" ) Recupera a data e hora atuais, adiciona 12 dias ao resultado e as exibe como uma cadeia de caracteres. "23/07/2021 20:58:00"
Text( DateAdd( Today(), 12 ), "mm/dd/yyyy hh:mm:ss" ) Recupera a data atual, adiciona 12 dias ao resultado e a exibe como uma cadeia de caracteres. "23/07/2021 00:00:00"
IsToday( DateAdd( Now(), 12 ) ) Testes se a data e hora atuais, mais 12 dias, está entre meia-noite de hoje e meia-noite de amanhã. false
IsToday( DateAdd( Today(), 12 ) ) Testes se a data atual, mais 12 dias, está entre meia-noite de hoje e meia-noite de amanhã. false
Hour( UTCNow() ) Recupera a data e hora atuais em UTC e extrai apenas a hora, que está 8 horas à frente do horário local. 4
Day( UTCToday() ) Recupera somente a data atual em UTC e extrai o dia, que está 1 dia à frente do horário local. 12
IsUTCToday( UTCNow() ) Testa se a data e hora atuais estão entre meia-noite de hoje e meia-noite de amanhã, tudo no fuso horário UTC. true
IsUTCToday( UTCToday() ) Testa se a data atual está entre meia-noite de hoje e meia-noite de amanhã, tudo no fuso horário UTC. true

Exibe um relógio que atualiza em tempo real

  1. Adicione um controle Timer, defina a propriedade Duration como 1000 e a propriedade Repeat como true.

    O cronômetro será executado por um segundo, reiniciará automaticamente e continuará esse padrão.

  2. Defina a propriedade OnTimerEnd do controle com esta fórmula:

    Set( CurrentTime, Now() )

    Sempre que o cronômetro for reiniciado (após cada segundo), essa fórmula definirá a variável global CurrentTime como o valor atual da função Now.

    Uma tela que contém um controle de cronômetro com a fórmula OnTimerEnd = Set(CurrentTime, Now()).

  3. Adicione um controle Label e defina sua propriedade Text com esta fórmula:

    Text( CurrentTime, LongTime24 )

    Use a função Text para formatar a data e hora conforme desejar, ou defina essa propriedade como CurrentTime para mostrar as horas e os minutos, mas não os segundos.

    Uma tela que contém um controle de rótulo com a propriedade Text definida como Text( CurrentTime, LongTime24).

  4. Visualize o aplicativo pressionando a tecla F5 e, em seguida, inicie o cronômetro clicando ou tocando nele.

    De forma contínua, o rótulo mostrará a hora atual, até os segundos.

    Quatro telas mostrando quatro valores de hora (13:50:22, 13:50:45, 13:51:03 e 13:51:25).

  5. Defina a propriedade AutoStart do cronômetro como true e a propriedade Visible como false.

    O cronômetro é invisível e inicia automaticamente.

  6. Defina a propriedade OnStart da tela para que a variável CurrentTime tenha um valor válido, como neste exemplo:

    Set(CurrentTime, Now())

    O rótulo será exibido assim que o aplicativo iniciar (antes de o cronômetro ser executado por um segundo inteiro).