Mostrar texto, datas e horas em aplicativos de tela

No Power Apps, adicione datas e horas a um aplicativo de tela e formate-as para mostrar o nível certo de detalhes ou refletir a sua localidade. Calcule a quantidade de tempo entre duas datas ou calcule uma data que é uma quantidade de tempo determinada antes ou após uma data especificada. Converta datas em valores separados ou de valores separados para dias, meses e anos e converta horas em valores separados ou de valores separados para horas, minutos e segundos.

Por exemplo, adicione dados de usuários sobre transações na bolsa de valores ou reuniões com clientes, dados de uma fonte externa ou dados de outro aplicativo criado no Power Apps. Se esses dados incluírem horários com milissegundos, arredonde-os para o minuto mais próximo para simplificar. Calcule quantos dias faltam para um marco importante. Se você quiser agendar reuniões com clientes a cada cinco dias, calcule essas datas automaticamente. Se 10 de maio de 1985 estiver armazenado em campos separados por dia, mês e ano, consolide-os em um único valor. Por outro lado, divida cada data em valores separados se seu aplicativo as gerenciar separadamente.

Pré-requisitos

  • Inscreva-se no Power Apps e depois entre fornecendo as mesmas credenciais que usou para se inscrever.
  • Crie um aplicativo ou abra um aplicativo existente no Power Apps.
  • Saiba como configurar um controle no Power Apps.

Mostrar texto em um controle Rótulo

Mostre o texto em um controle Rótulo configurando o valor de sua propriedade Text. Defina essa propriedade digitando diretamente no controle ou digitando uma expressão na barra de fórmulas.

  • Se você digitar diretamente no controle, ele mostrará exatamente o que você digitar.
  • Se você digitar uma expressão na barra de fórmulas, o controle mostrará o resultado da expressão.

Veja alguns exemplos.

  1. Adicione um controle Rótulo chamado ShowText e defina sua propriedade Text com esta fórmula:
    Now()

    Se seu computador tiver definido a localidade como "en-us", a data e hora atual será exibida neste formato:
    mm/dd/yyyy hh:mm AM/PM

    Se seu computador tiver definido a localidade como "fr-fr", a data e hora atual será exibida neste formato:
    dd/mm/yyyy hh:mm AM/PM

  2. Defina a propriedade Text de ShowText como esta fórmula:
    DateDiff(Today(), DateValue("01/01/2020"))

    O controle mostra o número de dias entre hoje e 1º de janeiro de 2020 usando estas funções:

    • DateDiff, que calcula o número de dias, trimestres ou anos entre duas datas.
    • Today, que calcula o dia atual como um valor.
    • DateValue, que converte uma cadeia de caracteres literal, conforme mostrado entre aspas duplas, em um valor no qual podem ser realizados cálculos.
  3. Adicione um controle Entrada de texto chamado BirthDate e mova-o para baixo de ShowText.

  4. Em BirthDate, digite o mês e o dia do seu nascimento (por exemplo, 18/05).

  5. Defina a propriedade Text de ShowText como esta fórmula:
    DateDiff(Today(), DateValue(BirthDate.Text))

    ShowText mostra o número de dias entre hoje e qualquer data que você digitar em BirthDate. Se seu aniversário já tiver ocorrido este ano, ShowText exibirá um valor negativo.

Formatar datas e horas usando DateTimeValue

Converta datas e horas de cadeias de caracteres de texto em valores que podem ser formatados de várias maneiras e usados em cálculos. Especifique o formato usando as opções internas e personalizadas.

Observação

As funções DateTimeValue e DateValue podem converter datas em qualquer um destes formatos em valores:

  • MM/DD/AAAA
  • DD/MM/AAAA
  • DD Mês AAAA
  • Mês DD, AAAA
  1. Adicione um controle Entrada de texto chamado ArrivalDateTime e digite uma data e hora neste formato:
    5/10/85 6:15 AM

  2. Adicione um controle Rótulo chamado ShowDate e defina sua propriedade Text com esta fórmula:
    DateTimeValue(ArrivalDateTime.Text)

    ShowDate mostra as mesmas informações que você digitou, mas foi convertido de texto em um valor e formatado de maneira diferente. Por exemplo, o ano é exibido com quatro dígitos em vez de apenas dois.

  3. Altere a propriedade Text de ShowDate para esta fórmula:
    DateTimeValue(ArrivalDateTime.Text, "fr")

    ShowDate mostra o dia antes do mês, como um usuário francês esperaria.

    Dica

    Para exibir uma lista de outras localidades no IntelliSense, remova as aspas finais e fr da fórmula, mas deixe as aspas iniciais:

  4. Para usar um dos vários formatos internos, altere a propriedade Text de ShowDate para esta fórmula:
    Text(DateTimeValue(ArrivalDateTime.Text), DateTimeFormat.LongDateTime)

    ShowDate mostra o dia da semana, a data e a hora.

    Dica

    O parâmetro DateTimeFormat dá suporte a vários outros formatos internos. Para exibir essa lista, remova LongDateTime da fórmula.

  5. Para usar um formato personalizado, altere a propriedade Text de ShowDate para esta fórmula:
    Text(DateTimeValue(ArrivalDateTime.Text), "mm/dd/yyyy hh:mm:ss.fff AM/PM")

    ShowDate mostra o valor de data/hora no formato especificado, incluindo milissegundos.

    Dica

    Para arredondar a hora para o décimo ou centésimo de segundo mais próximo, especifique hh:mm:ss.f ou hh:mm:ss.ff na fórmula.

Formatar uma data usando DateValue

  1. Adicione um controle Entrada de texto chamado ArrivalDate e, em seguida, digite uma data nele (por exemplo, 5/10/85).

  2. Adicione um controle Rótulo chamado ShapetDate e defina sua propriedade Text com esta fórmula:
    DateValue(ArrivalDate.Text)

    FormatDate mostra a data que você digitou, exceto que o ano é exibido como quatro dígitos.

  3. Defina a propriedade Text de ShapetDate como esta fórmula:
    DateValue(ArrivalDate.Text, "fr")

    FormatDate mostra o dia antes do mês, como um usuário francês esperaria.

  4. Para usar um dos vários formatos internos, defina a propriedade Text de ShapetDate como esta fórmula:
    Text(DateValue(ArrivalDate.Text), DateTimeFormat.LongDate)

    FormatDate mostra o dia da semana, o mês, o dia e o ano.

  5. Para usar um formato personalizado, defina a propriedade Text de ShapetDate como esta fórmula:
    Text(DateValue(ArrivalDate.Text), "yy/mm/dd")

    FormatDate mostra a data no formato especificado.

Formatar uma hora usando DateTimeValue

  1. Adicione um controle Entrada de texto chamado ArrivalTime e, em seguida, digite 6:15 AM nele.

  2. Adicione um controle Rótulo chamado ShowTime.

  3. Para usar um dos vários formatos internos, defina a propriedade Text de ShowTime como esta fórmula:
    Text(DateTimeValue(ArrivalTime.Text), DateTimeFormat.LongTime)

    ShowTime mostra a hora especificada, incluindo segundos.

  4. Para usar um formato personalizado, defina a propriedade Text de ShowTime como esta fórmula:
    Text(DateTimeValue(ArrivalTime.Text), "hh:mm:ss.fff AM/PM")

    ShowTime mostra a hora especificada, incluindo segundos e milissegundos.

    Dica

    Para arredondar a hora para o décimo ou centésimo de segundo mais próximo, insira hh:mm:ss.f ou hh:mm:ss.ff na fórmula.

Mostrar o tempo entre datas

  1. Adicione dois controles Entrada de texto chamados Start e End.

  2. Digite 1/4/2015 em Start e digite 1/1/2016 em End.

  3. Adicione um controle Rótulo chamado DateDiff e defina sua propriedade Text com esta fórmula:
    DateDiff(DateValue(Start.Text), DateValue(End.Text))

    DateDiff mostra 275, que é o número de dias entre 1º de abril de 2015 e 1º de janeiro de 2016.

  4. Defina a propriedade Text de DateDiff como esta fórmula:
    DateDiff(DateValue(Start.Text), DateValue(End.Text), Months)

    DateDiff mostra 9, que é o número de meses entre 1º de abril de 2015 e 1º de janeiro de 2016. Substitua Months por Quarters ou Years para mostrar o tempo nessas unidades.

Identificar uma data antes ou após outra data

  1. Adicione um controle Entrada de texto chamado Start e digite 10/5/1985 nele.

  2. Adicione um controle Rótulo chamado DateAdd e defina sua propriedade Text com esta fórmula:
    DateAdd(DateValue(Start.Text), 3)

    DateAdd mostra 13/5/1985, três dias após a data em Start.

  3. Defina a propriedade Text de DateAdd como esta fórmula:
    DateAdd(DateValue(Start.Text), -3)

    DateAdd mostra 7/5/1985, três dias antes a data em Start.

  4. Altere a propriedade Text de DateAdd para esta fórmula:
    DateAdd(DateValue(Start.Text), 3, Months)

    O rótulo mostra 10/8/1985, três meses após a data em Start. Substitua Months por Quarters ou Years para identificar uma data que é o número especificado de trimestres ou anos antes ou depois da data em Start.

Calcular datas com base em anos, meses e dias

  1. Adicione três controles Lista suspensa chamados Year, Month e Day.

  2. Defina a propriedade Items de Year como esta fórmula:
    Table({Year:"2014"}, {Year:"2015"}, {Year:"2016"})

  3. Defina a propriedade Items de Month como esta fórmula:
    Table({Month:"1"}, {Month:"2"}, {Month:"3"}, {Month:"4"}, {Month:"5"}, {Month:"6"}, {Month:"7"}, {Month:"8"}, {Month:"9"}, {Month:"10"}, {Month:"11"}, {Month:"12"})

  4. Defina a propriedade Items de Day como esta fórmula:
    Table({Day:"1"}, {Day:"2"}, {Day:"3"}, {Day:"4"}, {Day:"5"}, {Day:"6"}, {Day:"7"}, {Day:"8"}, {Day:"9"}, {Day:"10"}, {Day:"11"}, {Day:"12"}, {Day:"13"}, {Day:"14"}, {Day:"15"}, {Day:"16"}, {Day:"17"}, {Day:"18"}, {Day:"19"}, {Day:"20"}, {Day:"21"}, {Day:"22"}, {Day:"23"}, {Day:"24"}, {Day:"25"}, {Day:"26"}, {Day:"27"}, {Day:"28"}, {Day:"29"}, {Day:"30"}, {Day:"31"})

  5. Adicione um controle de Rótulo e defina sua propriedade Text para esta fórmula:
    Text(Date(Value(Year.SelectedText.Value), Value(Month.SelectedText.Value), Value(Day.SelectedText.Value)), DateTimeFormat.LongDate)

    Quarta-feira, 1º de janeiro de 2014 é listado por padrão. Selecione diferentes valores nos controles Lista suspensa para alterar a data no controle Rótulo.

Talvez seja necessário converter dados que você não esperava. Se você adicionar controles Entrada de texto em vez de controles Lista suspensa, um usuário poderá inserir uma data incorreta, como 45 de maio. A função Date manipula dados atípicos das seguintes maneiras:

  • Se um valor de ano estiver entre 0 e 1899 (inclusive), a função adicionará esse valor a 1900 para calcular o ano.
  • Se um valor de ano estiver entre 1900 e 9999 (inclusive), a função usará esse valor como o ano.
  • Se um valor de ano for menor que 0 ou for 10000 ou maior, a função retornará um valor de erro.
  • Se um valor de mês for maior que 12, a função adicionará esse número de meses ao primeiro mês do ano especificado.
  • Se um valor de mês for menor que 1, a função subtrairá esse número de meses, mais 1, do primeiro mês do ano especificado.
  • Se um valor de dia for maior que o número de dias do mês especificado, a função adicionará esse número de dias ao primeiro dia do mês e retornará a data correspondente de um mês subsequente.
  • Se um valor de dia for menor que 1, a função subtrairá esse número de dias, mais 1, do primeiro dia do mês especificado.

Calcular tempo com base em horas, minutos e segundos

  1. Adicione duas listas Suspensas chamadas Hour e Minute.

  2. Defina a propriedade Items de Hour como esta fórmula:
    Table({Hour:"9"}, {Hour:"10"}, {Hour:"11"}, {Hour:"12"}, {Hour:"13"}, {Hour:"14"}, {Hour:"15"}, {Hour:"16"}, {Hour:"17"})

  3. Defina a propriedade Items de Minute como esta fórmula:
    Table({Minute:"0"}, {Minute:"15"}, {Minute:"30"}, {Minute:"45"})

  4. Adicione um controle de Rótulo e defina sua propriedade Text para esta fórmula:

    Text(Time(Value(Hour.SelectedText.Value), Value(Minute.SelectedText.Value),0), DateTimeFormat.ShortTime)

  5. Selecione 15 em Hour e 45 em Minute.

    O controle Rótulo mostra 3:45 PM.

    É possível adicionar entradas a Hour e Minute para que os usuários possam selecionar um intervalo maior de horas e um número mais preciso de minutos. Também é possível adicionar um terceiro controle Lista suspensa para que os usuários possam especificar segundos. Se você adicionar uma terceira lista, defina a propriedade Text do controle Rótulo com a seguinte expressão:
    Text(Time(Value(Hour.Selected.Value), Value(Minute.Selected.Value), Value(Second.Selected.Value)), DateTimeFormat.LongTime)

Confira também

Exemplos do controle Seletor de data

Observação

Você pode nos falar mais sobre suas preferências de idioma para documentação? Faça uma pesquisa rápida. (Observe que esta pesquisa está em inglês)

A pesquisa levará cerca de sete minutos. Nenhum dado pessoal é coletado (política de privacidade).