Funções Now, Today, IsToday, UTCNow, UTCToday, IsUTCToday
Aplica-se a: Canvas apps Fluxos Dataverse da área de trabalho colunas de fórmula CLI de aplicativos Power Pages Power Platform controlados por modelo
Devolve a data e hora atuais e testa se é um valor de data/hora corresponde ao dia de hoje.
Nota
Os comandos PAC CLI pac power-fx não suportam as funções UTCNow , UTCToday e IsUTCToday .
Descrição
A função Now devolve a data e hora atuais como um valor de data/hora.
A função Today devolve a data atual como um valor de data/hora. A hora é definida como meia-noite. Hoje tem o mesmo valor ao longo de um dia, da meia-noite de hoje à meia-noite de amanhã.
A função IsToday testa se um valor data/hora está entre a meia-noite de hoje e a meia-noite de amanhã. Esta função devolve um valor booleano (true ou false).
As funções Now,Today e IsToday funcionam com a hora local do utente atual.
As funções UTCNow, UTCToday e IsUTCToday são as mesmas que suas contrapartes não-UTC, mas trabalham com valores independentes de fuso horário e usam o Tempo Universal Coordenado (UTC).
Nota
- UTCNow, UTCToday e IsUTCToday só estão disponíveis em colunas de Microsoft Dataverse for Teams fórmulas e apenas para campos e valores independentes do tempo.
- Now , Today e IsToday não estão disponíveis em Dataverse for Teams colunas de fórmulas, pois as avaliações são feitas sem o conhecimento do fuso horário local do utente atual.
Mais informações: Trabalhar com colunas de tabelas de fórmulas no Dataverse for Teams
Consulte Date, Time e DateTime na documentação de tipos de dados e como trabalhar com datas e horas para obter mais informações.
Funções Voláteis
Agora,Hoje,UTCNow e UTCToday são funções voláteis. Estas funções devolvem um valor diferente para cada avaliação.
Quando for utilizada numa fórmula de fluxos de dados, uma função volátil só irá devolver um valor diferente se a fórmula em que aparece for reavaliada. Se nada mais for alterado na fórmula, esta terá o mesmo valor durante a execução da sua aplicação.
Por exemplo, um controlo Etiqueta com Etiqueta1.Text = Now() não será alterado enquanto a sua aplicação estiver ativa. Só resultará num novo valor se fechar e voltar a abrir a aplicação.
A função será reavaliada se fizer parte de uma fórmula em que algo foi alterado. Por exemplo, se alterarmos o nosso exemplo para incluir um controlo de deslize com Label1.Text = DateAdd( Now(), Slider1.Value, Minutes ), a hora atual será obtida sempre que o valor do controlo Slider for alterado e a propriedade de texto da etiqueta for reavaliada.
Quando são utilizadas numa fórmula de comportamento, as funções voláteis são reavaliadas sempre que a fórmula de comportamento é avaliada. Veja um exemplo abaixo.
Sintaxe
Utilizar a hora local do utilizador
Agora()
Hoje()
IsToday( DateTime )
- DateTime - Obrigatório. O valor data/hora a testar.
Utilizar a Hora Universal Coordenada (UTC)
UTCNow()
UTCToday()
IsUTCToday( TimeZoneIndependentTime )
- TimeZoneIndependentDateTime - Obrigatório. O valor de data/hora independente do fuso horário a testar.
Exemplos
Para os exemplos nesta secção, a hora atual é 20:58 de 11 de julho de 2021 no Fuso Horário do Pacífico (UTC-8) e o idioma é en-us.
Fórmula | Descrição | Resultado |
---|---|---|
Texto( Agora(), "mm/dd/aaaa hh:mm:ss" ) | Obtém a data e hora atuais no fuso horário do utilizador e apresenta-as como uma cadeia. | "11/07/2021 20:58:00" |
Texto( Hoje(), "mm/dd/aaaa hh:mm:ss" ) | Obtém apenas a data atual, deixando a hora definida como meia-noite, e apresenta-a como uma cadeia. | "12/07/2021 00:00:00" |
IsToday( Agora() ) | Testa se a data e hora atuais estão entre a meia-noite de hoje e a meia-noite de amanhã. | verdadeiro |
IsToday( Hoje() ) | Testa se a data atual está entre a meia-noite de hoje e a meia-noite de amanhã. | verdadeiro |
Texto( DateAdd( Now(), 12 ), "mm/dd/aaaa hh:mm:ss" ) | Obtém a data e hora atuais, acrescenta 12 dias ao resultado, e apresenta-as como uma cadeia. | "23/07/2021 20:58:00" |
Texto( DateAdd( Today(), 12 ), "mm/dd/aaaa hh:mm:ss" ) | Obtém a data atual, acrescenta 12 dias ao resultado, e apresenta-a como uma cadeia. | "23/07/2021 00:00:00" |
IsToday( DateAdd( Agora(), 12 ) | Testa se a data e hora atuais, mais 12 dias, estão entre a meia-noite de hoje e a meia-noite de amanhã. | falso |
IsToday( DateAdd( Hoje(), 12 ) | Testa se a data atual, mais 12 dias, está entre a meia-noite de hoje e a meia-noite de amanhã. | falso |
Hora( UTCNow() ) | Obtém a data e hora atuais em UTC e extrai apenas a hora, que é 8 horas antes da hora local. | 4 |
Dia( UTCToday() ) | Obtém apenas a data atual em UTC e extrai o dia, que é 1 dia antes da hora local. | 12 |
IsUTCToday( UTCNow() ) | Testa se a data e hora atuais estão entre a meia-noite de hoje e a meia-noite de amanhã, tudo na hora UTC. | verdadeiro |
IsUTCToday( UTCToday() ) | Testa se a data atual está entre a meia-noite de hoje e a meia-noite de amanhã, tudo na hora UTC. | verdadeiro |
Apresentar um relógio que é atualizado em tempo real
Adicione um controlo Timer, defina a respetiva propriedade Duration como 1000 e a propriedade Repeat para true.
O temporizador será executado por um segundo, recomeçará automaticamente e continuará esse padrão.
Defina a propriedade OnTimerEnd do controlo para esta fórmula:
Set( CurrentTime, Agora() )
Sempre que o temporizador recomeçar (após cada segundo), esta fórmula definirá a variável global CurrentTime para o valor atual da função Now.
Adicione um controlo Label e defina a respetiva propriedade Text para esta fórmula:
Texto( CurrentTime, LongTime24 )
Utilize a função Text para formatar a data e a hora como quiser ou defina esta propriedade para CurrentTime para mostrar as horas e os minutos, mas não os segundos.
Pré-visualize a aplicação ao premir F5 e, em seguida, inicie o temporizador ao clicar ou tocar no mesmo.
A etiqueta mostra o tempo atual continuamente, incluindo os segundos.
Defina a propriedade AutoStart do temporizador para true e a propriedade Visible do mesmo para false.
O temporizador é invisível e começa automaticamente.
Defina a propriedade OnStart do ecrã para que a variável CurrentTime tenha um valor válido, como neste exemplo:
Set(CurrentTime, Now())
A etiqueta aparece assim que a aplicação é iniciada (antes de o temporizador ser executado durante um segundo).