Mostrar texto, datas e horas no Power Apps

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 Label

Mostre o texto em um controle Label 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 Label 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/aaaa 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/aaaa hh:mm AM/PM

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

    Número de dias entre hoje e 1º de janeiro de 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 Text input 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))

    Número de dias entre hoje e seu aniversário

    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 Text input chamado ArrivalDateTime e digite uma data e hora neste formato:
    5/10/85 6:15 AM

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

    Converter uma data/hora de texto em um valor

    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")

    Mostrar um valor de data/hora no formato francês

    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:

    Mostrar uma lista de localidades

  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)

    Mostrar um valor de data/hora no formato francês

    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")

    Mostrar um valor de data/hora no formato francês

    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 Text input chamado ArrivalDate e, em seguida, digite uma data nele (por exemplo, 5/10/85).

  2. Adicione um controle Label 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 Text input chamado ArrivalTime e, em seguida, digite 6:15 AM nele.

  2. Adicione um controle Label 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 Text input chamados Start e End.

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

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

    Comparar duas datas

    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 Text input chamado Start e digite 10/5/1985 nele.

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

    Adicionar três dias

    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)

    Subtrair três dias

    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)

    Adicionar três meses

    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 Drop down 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 Label e defina sua propriedade Text para esta fórmula:
    Text(Date(Value(Year.Selected.Value), Value(Month.Selected.Value), Value(Day.Selected.Value)), DateTimeFormat.LongDate)

    Quarta-feira, 1º de janeiro de 2014 é listado por padrão. Selecione diferentes valores nos controles Drop down para alterar a data no controle Label.

Talvez seja necessário converter dados que você não esperava. Se você adicionar controles Text input em vez de controles Drop down, 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 Label e defina sua propriedade Text para esta fórmula:

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

  5. Selecione 15 em Hour e 45 em Minute.

    O controle Label 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 Drop down para que os usuários possam especificar segundos. Se você adicionar uma terceira lista, defina a propriedade Text do controle Label com a seguinte expressão:
    Text(Time(Value(Hour.Selected.Value), Value(Minute.Selected.Value), Value(Second.Selected.Value)), DateTimeFormat.LongTime)