Mostrar texto e formatar datas e horas no PowerAppsShow text and format dates and times in PowerApps

Adicione datas e horas e formate-as para mostrar o nível certo de detalhes ou para refletir a sua localidade.Add dates and times, and format them to show the right level of detail or to reflect your locale. 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.Calculate the amount of time between two dates, or calculate a date that's a certain amount of time before or after a date that you specify. 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.Convert dates to or from separate values for days, months, and years, and convert times to or from separate values for hours, minutes, and seconds.

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 PowerApps.For example, add data from users about stock trades or client meetings, data from an external source, or data from another app created in PowerApps. Se esses dados incluírem horários com milissegundos, arredonde-os para o minuto mais próximo para simplificar.If that data includes times down to the millisecond, round it to the nearest minute for simplicity. Calcule quantos dias faltam para um marco importante.Calculate how many days remain before a major milestone. Se você quiser agendar reuniões com clientes a cada cinco dias, calcule essas datas automaticamente.If you want to schedule client meetings every five days, calculate those dates automatically. Se 10 de maio de 1985 estiver armazenado em campos separados por dia, mês e ano, consolide-os em um único valor.If May 10, 1985, is stored in separate fields for the day, the month, and the year, consolidate them into a single value. Por outro lado, divida cada data em valores separados se seu aplicativo as gerenciar separadamente.Conversely, break each date into separate values if your app manages them separately.

Pré-requisitosPrerequisites

  • Inscreva-se no PowerApps, instale-o, abra-o e entre, fornecendo as mesmas credenciais que usou para se inscrever.Sign up for PowerApps, install it, open it, and then sign in by providing the same credentials that you used to sign up.
  • Crie um aplicativo ou abra um aplicativo existente no PowerApps.Create an app or open an existing app in PowerApps.
  • Saiba como configurar um controle no PowerApps.Learn how to configure a control in PowerApps.

Mostrar texto em um controle RótuloShow text in a Label control

Mostre o texto em um controle Rótulo configurando o valor de sua propriedade Text.Show text in a Label control by setting the value of its Text property. Defina essa propriedade digitando diretamente no controle ou digitando uma expressão na barra de fórmulas.Set this property by typing directly into the control or by typing an expression in the formula bar.

  • Se você digitar diretamente no controle, ele mostrará exatamente o que você digitar.If you type directly into the control, it shows exactly what you type.
  • Se você digitar uma expressão na barra de fórmulas, o controle mostrará o resultado da expressão.If you type an expression in the formula bar, the control shows the result of the expression.

Abaixo há alguns exemplos.Here are some examples.

  1. Adicione um controle Rótulo chamado ShowText e defina sua propriedade Text com esta fórmula:Add a Label control named ShowText, and set its Text property to this formula:
    Now()Now()

    Se seu computador tiver definido a localidade como "en-us", a data e hora atual será exibida neste formato: If your computer is set to the "en-us" locale, the current date and time appears in this format:
    mm/dd/aaaa hh:mm AM/PMmm/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: If your computer is set to a locale such as "fr-fr", the current date and time appears in this format:
    dd/mm/aaaa hh:mm AM/PMdd/mm/yyyy hh:mm AM/PM

  2. Defina a propriedade Texto de ShowText como esta fórmula:Set the Text property of ShowText to this formula:
    DateDiff(Today(), DateValue("01/01/2020"))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:The control shows the number of days between today and January 1, 2020, by using these functions:

    • DateDiff, que calcula o número de dias, trimestres ou anos entre duas datas.DateDiff, which calculates the number of days, quarters, or years between two dates.
    • Hoje, que calcula o dia atual como um valor.Today, which calculates the current day as a value.
    • ValorData, que converte uma cadeia de caracteres literal, conforme mostrado entre aspas duplas, em um valor no qual podem ser realizados cálculos.DateValue, which converts a literal string, as shown between double quotation marks, to a value on which calculations can be performed.
  3. Adicione um controle Entrada de texto nomeado BirthDate e mova-o em ShowText.Add a Text input control named BirthDate, and move it under ShowText.

  4. Em BirthDate, digite o mês e o dia do seu nascimento (por exemplo, 05/18).In BirthDate, type the month and the day of your birth (for example, 05/18).

  5. Defina a propriedade Texto de ShowText como esta fórmula:Set the Text property of ShowText to this formula:
    DateDiff(Today(), DateValue(BirthDate.Text))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.ShowText shows the number of days between today and whatever date you type into BirthDate. Se seu aniversário já tiver ocorrido este ano, ShowText exibirá um valor negativo.If your birthday has already occurred this year, ShowText displays a negative value.

Formatar datas e horas usando ValorDataHoraFormat dates and times by using 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.Convert dates and times from strings of text to values, which you can format in a variety of ways and use in calculations. Especifique o formato usando as opções internas e personalizadas.Specify the format by using built-in and custom options.

Observação

As funções ValorDataHora e ValorData podem converter datas em qualquer um destes formatos em valores:The DateTimeValue and DateValue functions can convert dates in any of these formats into values:

  • MM/DD/AAAAMM/DD/YYYY
  • DD/MM/AAAADD/MM/YYYY
  • DD Mês AAAADD Mon YYYY
  • Mês DD, AAAAMonth DD, YYYY
  1. Adicione um controle Entrada de texto nomeado ArrivalDateTime e digite uma data e hora neste formato:Add a Text input control named ArrivalDateTime, and type a date and time in this format:
    5/10/85 6:15 AM5/10/85 6:15 AM
  2. Adicione um controle Rótulo chamado ShowDate e defina sua propriedade Text com esta fórmula:Add a Label control named ShowDate, and set its Text property to this formula:
    DateTimeValue(ArrivalDateTime.Text)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.ShowDate shows the same information that you typed, but it's been converted from text to a value and formatted differently. Por exemplo, o ano é exibido com quatro dígitos em vez de apenas dois.For example, the year appears as four digits instead of just two.

  3. Altere a propriedade Texto de ShowDate para esta fórmula:Change the Text property of ShowDate to this formula:
    DateTimeValue(ArrivalDateTime.Text, "fr")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.ShowDate shows the day before the month, as a French user would expect.

    Dica

    Para exibir uma lista de outras localidades no IntelliSense, remova as aspas finais e fr da fórmula, mas deixe as aspas iniciais:To display a list of other locales in Intellisense, remove the closing quotation mark and fr from the formula, but leave the open quotation mark:

    Mostrar uma lista de localidades

  4. Para usar um dos vários formatos internos, altere a propriedade Texto de ShowDate para esta fórmula:To use one of several built-in formats, change the Text property of ShowDate to this formula:
    Text(DateTimeValue(ArrivalDateTime.Text), DateTimeFormat.LongDateTime)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.ShowDate shows the day of the week, the date, and the time.

    Dica

    O parâmetro DateTimeFormat dá suporte a vários outros formatos internos.The DateTimeFormat parameter supports several other built-in formats. Para exibir essa lista, remova LongDateTime da fórmula.To display that list, remove LongDateTime from the formula.

  5. Para usar um formato personalizado, altere a propriedade Texto de ShowDate para esta fórmula:To use a custom format, change the Text property of ShowDate to this formula:
    Text(DateTimeValue(ArrivalDateTime.Text), "mm/dd/yyyy hh:mm:ss.fff AM/PM")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.ShowDate shows the date/time value in the format that you specified, including milliseconds.

    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.To round the time to the nearest tenth or hundredth of a second, specify hh:mm:ss.f or hh:mm:ss.ff in the formula.

Formatar uma data usando ValorDataFormat a date by using DateValue

  1. Adicione um controle Entrada de texto nomeado ArrivalDate e, em seguida, digite uma data nele (por exemplo, 5/10/85).Add a Text input control named ArrivalDate, and then type a date in it (for example, 5/10/85).

  2. Adicione um controle Rótulo chamado FormatDate e defina sua propriedade Text com esta fórmula:Add a Label control named FormatDate, and set its Text property to this formula:
    DateValue(ArrivalDate.Text)DateValue(ArrivalDate.Text)

    FormatDate mostra a data que você digitou, exceto que o ano é exibido como quatro dígitos.FormatDate shows the date that you typed, except the year appears as four digits.

  3. Defina a propriedade Texto de FormatDate como esta fórmula:Set the Text property of FormatDate to this formula:
    DateValue(ArrivalDate.Text, "fr")DateValue(ArrivalDate.Text, "fr")

    FormatDate mostra o dia antes do mês, como um usuário francês esperaria.FormatDate shows the day before the month, just as a French user would expect.

  4. Para usar um dos vários formatos internos, defina a propriedade Texto de FormatDate como esta fórmula:To use one of several built-in formats, set the Text property of FormatDate to this formula:
    Text(DateValue(ArrivalDate.Text), DateTimeFormat.LongDate)Text(DateValue(ArrivalDate.Text), DateTimeFormat.LongDate)

    FormatDate mostra o dia da semana, o mês, o dia e o ano.FormatDate shows the day of the week, the month, the day, and the year.

  5. Para usar um formato personalizado, defina a propriedade Texto de FormatDate como esta fórmula:To use a custom format, set the Text property of FormatDate to this formula:
    Text(DateValue(ArrivalDate.Text), "yy/mm/dd")Text(DateValue(ArrivalDate.Text), "yy/mm/dd")

    FormatDate mostra a data no formato especificado.FormatDate shows the date in the format that you specified.

Formatar uma hora usando ValorDataHoraFormat a time using DateTimeValue

  1. Adicione um controle Entrada de texto nomeado ArrivalTime e, em seguida, digite 6:15 AM nele.Add a Text input control named ArrivalTime, and then type 6:15 AM in it.

  2. Adicione um controle Rótulo chamado ShowTime.Add a Label control named ShowTime.

  3. Para usar um dos vários formatos internos, defina a propriedade Texto de ShowTime como esta fórmula:To use one of several built-in formats, set the Text property of ShowTime to this formula:
    Text(DateTimeValue(ArrivalTime.Text), DateTimeFormat.LongTime)Text(DateTimeValue(ArrivalTime.Text), DateTimeFormat.LongTime)

    ShowTime mostra a hora especificada, incluindo segundos.ShowTime shows the time that you specified, including seconds.

  4. Para usar um formato personalizado, defina a propriedade Texto de ShowTime como esta fórmula:To use a custom format, set the Text property of ShowTime to this formula:
    Text(DateTimeValue(ArrivalTime.Text), "hh:mm:ss.fff AM/PM")Text(DateTimeValue(ArrivalTime.Text), "hh:mm:ss.fff AM/PM")

    ShowTime mostra a hora especificada, incluindo segundos e milissegundos.ShowTime shows the time that you specified, including seconds and milliseconds.

    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.To round the time to the nearest tenth or hundredth of a second, enter hh:mm:ss.f or hh:mm:ss.ff in the formula.

Mostrar o tempo entre datasShow the time between dates

  1. Adicione dois controles Entrada de texto nomeados Início e Fim.Add two Text input controls named Start and End.

  2. Digite 1/4/2015 em Início e digite 1/1/2016 em Fim.Type 4/1/2015 in Start, and type 1/1/2016 in End.

  3. Adicione um controle Rótulo chamado DateDiff e defina sua propriedade Text com esta fórmula:Add a Label control named DateDiff, and set its Text property to this formula:
    DateDiff(DateValue(Start.Text), DateValue(End.Text))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.DateDiff shows 275, which is the number of days between April 1, 2015, and January 1, 2016.

  4. Defina a propriedade Texto de DateDiff como esta fórmula:Set the Text property of DateDiff to this formula:
    DateDiff(DateValue(Start.Text), DateValue(End.Text), Months)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.DateDiff shows 9, which is the number of months between April 1, 2015, and January 1, 2016. Substitua Meses por Trimestres ou Anos para mostrar o tempo nessas unidades.Replace Months with Quarters or Years to show the time in those units.

Identificar uma data antes ou após outra dataIdentify a date before or after another date

  1. Adicione um controle Entrada de texto nomeado Início e digite 10/5/1985 nele.Add a Text input control named Start, and type 5/10/1985 in it.

  2. Adicione um controle Rótulo chamado DateAdd e defina sua propriedade Text com esta fórmula:Add a Label control named DateAdd, and set its Text property to this formula:
    DateAdd(DateValue(Start.Text), 3)DateAdd(DateValue(Start.Text), 3)

    Adicionar três dias

    DateAdd mostra 5/13/1985, três dias após a data em Início.DateAdd shows 5/13/1985, which is three days after the date in Start.

  3. Defina a propriedade Texto de DateAdd como esta fórmula:Set the Text property of DateAdd to this formula:
    DateAdd(DateValue(Start.Text), -3)DateAdd(DateValue(Start.Text), -3)

    Subtrair três dias

    DateAdd mostra 5/7/1985, três dias antes a data em Início.DateAdd shows 5/7/1985, which is three days before the date in Start.

  4. Altere a propriedade Texto de DateAdd para esta fórmula:Change the Text property of DateAdd to this formula:
    DateAdd(DateValue(Start.Text), 3, Months)DateAdd(DateValue(Start.Text), 3, Months)

    Adicionar três meses

    O rótulo mostra 8/10/1985, três meses após a data em Início.The label shows 8/10/1985, which is three months after the date in Start. Substitua Meses por Trimestres ou Anos para identificar uma data que é o número especificado de trimestres ou anos antes ou depois da data em Início.Replace Months with Quarters or Years to identify a date that's the specified number of quarters or years before or after the date in Start.

Calcular datas com base em anos, meses e diasCalculate dates based on years, months, and days

  1. Adicione três controles Lista suspensa nomeados Ano, Mês e Dia.Add three Drop down controls named Year, Month, and Day.

  2. Defina a propriedade Itens de Ano como esta fórmula:Set the Items property of Year to this formula:
    Table({Year:"2014"}, {Year:"2015"}, {Year:"2016"})Table({Year:"2014"}, {Year:"2015"}, {Year:"2016"})

  3. Defina a propriedade Itens de Mês como esta fórmula:Set the Items property of Month to this formula:
    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"})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 Itens de Dia como esta fórmula:Set the Items property of Day to this formula:
    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"})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 Rótulo e defina sua propriedade Text com esta fórmula:Add a Label control, and set its Text property to this formula:
    Text(Date(Value(Year.Selected.Value), Value(Month.Selected.Value), Value(Day.Selected.Value)), DateTimeFormat.LongDate)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.Wednesday, January 1, 2014 is listed by default. Selecione diferentes valores nos controles Lista suspensa para alterar a data no controle Rótulo.Select different values in the Drop down controls to change the date in the Label control.

Talvez seja necessário converter dados que você não esperava.You may need to convert data that you didn't expect. 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.If you add Text input controls instead of Drop down controls, a user may enter an incorrect date, such as May 45. A função Date manipula dados atípicos das seguintes maneiras:The Date function handles atypical data in the following ways:

  • Se um valor de ano estiver entre 0 e 1899 (inclusive), a função adicionará esse valor a 1900 para calcular o ano.If a year value is between 0 and 1899 (inclusive), the function adds that value to 1900 to calculate the year.
  • Se um valor de ano estiver entre 1900 e 9999 (inclusive), a função usará esse valor como o ano.If a year value is between 1900 and 9999 (inclusive), the function uses that value as the year.
  • Se um valor de ano for menor que 0 ou for 10000 ou maior, a função retornará um valor de erro.If a year value is less than 0 or is 10000 or greater, the function returns an error value.
  • 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.If a month value is greater than 12, the function adds that number of months to the first month of the specified year.
  • 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.If a month value is less than 1, the function subtracts that many months, plus 1, from the first month of the specified year.
  • 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.If a day value is greater than the number of days in the specified month, the function adds that many days to the first day of the month and returns the corresponding date from a subsequent month.
  • 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.If a day value is less than 1, the function subtracts that many days, plus 1, from the first day of the specified month.

Calcular tempo com base em horas, minutos e segundosCalculate times based on hours, minutes, and seconds

  1. Adicione duas listas Suspensas nomeadas Hora e Minuto.Add two Drop-down lists named Hour and Minute.

  2. Defina a propriedade Itens de Hora como esta fórmula:Set the Items property of Hour to this formula:
    Table({Hour:"9"}, {Hour:"10"}, {Hour:"11"}, {Hour:"12"}, {Hour:"13"}, {Hour:"14"}, {Hour:"15"}, {Hour:"16"}, {Hour:"17"})Table({Hour:"9"}, {Hour:"10"}, {Hour:"11"}, {Hour:"12"}, {Hour:"13"}, {Hour:"14"}, {Hour:"15"}, {Hour:"16"}, {Hour:"17"})

  3. Defina a propriedade Itens de Minuto como esta fórmula:Set the Items property of Minute to this formula:
    Table({Minute:"0"}, {Minute:"15"}, {Minute:"30"}, {Minute:"45"})Table({Minute:"0"}, {Minute:"15"}, {Minute:"30"}, {Minute:"45"})

  4. Adicione um controle Rótulo e defina sua propriedade Text com esta fórmula:Add a Label control, and set its Text property to this formula:

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

  5. Selecione 15 em Hora e 45 em Minuto.Select 15 in Hour and 45 in Minute.

    O controle Rótulo mostra 15h45.The Label control shows 3:45 PM.

    É possível adicionar entradas a Hora e Minuto para que os usuários possam selecionar um intervalo maior de horas e um número mais preciso de minutos.You can add entries to Hour and Minute so that users can select from a bigger range of hours and a more precise number of minutes. Também é possível adicionar um terceiro controle Lista suspensa para que os usuários possam especificar segundos.You can also add a third Drop down control so that users can specify seconds. Se você adicionar uma terceira lista, defina a propriedade Text do controle Rótulo com a seguinte expressão:If you add a third list, set the Text property of the Label control to the following expression:
    Text(Time(Value(Hour.Selected.Value), Value(Minute.Selected.Value), Value(Second.Selected.Value)), DateTimeFormat.LongTime)Text(Time(Value(Hour.Selected.Value), Value(Minute.Selected.Value), Value(Second.Selected.Value)), DateTimeFormat.LongTime)