Compartilhar via


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

Aplica-se a: Aplicativos Canvas Fluxos de desktop Dataverse Colunas de fórmula Aplicativos baseados em modelo Power Pages Power Platform CLI

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

Observação

Os comandos PAC CLI pac power-fx 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. Hoje tem o mesmo valor ao longo do dia, da meia-noite de hoje à 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 a hora local do usuário atual.

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

Nota

  • UTCNow, UTCToday e IsUTCToday estão disponíveis somente em Microsoft Dataverse for Teams colunas de fórmula e somente para campos e valores independentes de tempo.
  • Now, Today e IsToday não estão disponíveis em Dataverse for Teams colunas de fórmula, 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

Agora, Hoje, UTCAgora e UTCTodia 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

Agora()

Hoje()

ÉHoje( DataHora )

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

Usar o Tempo Universal Coordenado (UTC)

UTCAgora()

UTCHoje()

ÉUTCToday( 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
Texto(Agora(), "mm/dd/aaaa 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"
Texto(Hoje(), "mm/dd/aaaa 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( Agora() ) Testes se a data e hora atuais está entre meia-noite de hoje e meia-noite de amanhã. verdadeiro
IsToday( Hoje() ) Testes se a data atual está entre meia-noite de hoje e meia-noite de amanhã. verdadeiro
Texto(DataAdd(Agora(), 12), "mm/dd/aaaa 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"
Texto(DataAdd(Hoje(), 12), "mm/dd/aaaa 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(DataAdd(Agora(), 12)) Testes se a data e hora atuais, mais 12 dias, está entre meia-noite de hoje e meia-noite de amanhã. falso
IsToday(DataAdd(Hoje(), 12)) Testes se a data atual, mais 12 dias, está entre meia-noite de hoje e meia-noite de amanhã. falso
Hora( UTCNow() ) Recupera a data e hora atuais em UTC e extrai apenas a hora, que está 8 horas à frente do horário local. 4
Dia( UTCToday() ) Recupera somente a data atual em UTC e extrai o dia, que está 1 dia à frente do horário local. 12
ÉUTCToday( 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. verdadeiro
ÉUTCToday( UTCToday() ) Testa se a data atual está entre meia-noite de hoje e meia-noite de amanhã, tudo no fuso horário UTC. verdadeiro

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:

    Definir(HoraAtual, Agora())

    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:

    Texto(HoraAtual,HoraLonga24)

    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:

    Definir(HoraAtual, Agora())

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