Mostrar texto, datas e horas en aplicacións de lenzo

En Power Apps, engada datas e horas a unha aplicación de lenzo e déalles formato para mostrar o nivel de detalle adecuado ou para reflectir a súa configuración local. Calcule a cantidade de tempo entre dúas datas ou calcule unha data determinada antes ou despois dunha data que especifique. Converta as datas a ou de valores separados por días, meses e anos e converta as horas en ou de valores separados por horas, minutos e segundos.

Por exemplo, engada datos dos usuarios sobre operacións de bolsa ou reunións de clientes, datos dunha fonte externa ou datos doutra aplicación creada en Power Apps. Se eses datos inclúen tempos inferiores ao milisegundo, redondee ao minuto máis próximo por sinxeleza. Calcule cantos días quedan antes dun fito importante. Se desexa programar reunións de clientes cada cinco días, calcule esas datas automaticamente. Se o 10 de maio de 1985 se gardou en campos separados para o día, o mes e o ano, consolídeos nun único valor. Pola contra, descompoña cada data en valores distintos se a aplicación os xestiona por separado.

Requisitos previos

  • Rexístrese en Power Apps e, a continuación, inicie sesión coas mesmas credenciais que utilizou para rexistrarse.
  • Cree unha aplicación ou abra unha aplicación existente en Power Apps.
  • Descubra como configurar un control en Power Apps.

Mostrar texto nun control de etiqueta

Amose texto nun control de Etiqueta ao definir o valor da súa propiedade de Texto. Estableza esta propiedade escribindo directamente no control ou escribindo unha expresión na barra de fórmulas.

  • Se escribe directamente no control, amosa exactamente o que escribe.
  • Se escribe unha expresión na barra de fórmulas, o control mostra o resultado da expresión.

Aquí van algúns exemplos.

  1. Engada un control de Etiqueta denominado ShowText e configure a súa propiedade de Texto nesta fórmula:
    Now()

    Se o computador está configurado na configuración rexional "en-us", a data e hora actuais aparecen neste formato:
    mm/dd/yyyy hh:mm AM/PM

    Se o computador está configurado nunha configuración rexional como "fr-fr", a data e hora actuais aparecen neste formato:
    dd/mm/yyyy hh:mm AM/PM

  2. Axuste a propiedade Texto de ShowText nesta fórmula:
    DateDiff(Today(), DateValue("01/01/2020"))

    O control mostra o número de días entre hoxe e o 1 de xaneiro de 2020, mediante estas funcións:

    • DataDiff, que calcula o número de días, trimestres ou anos entre dúas datas.
    • Today, que calcula o día actual como valor.
    • DateValue, que converte unha cadea literal, como se mostra entre comiñas dobres,nun valor sobre o que se poden realizar cálculos.
  3. Engada un control de Entrada de texto nomeado BirthDate e móvao debaixo de ShowText.

  4. En BirthDate, escriba o mes e o día do seu nacemento (por exemplo, 05/18).

  5. Axuste a propiedade Texto de ShowText nesta fórmula:
    DateDiff(Today(), DateValue(BirthDate.Text))

    ShowText mostra o número de días entre hoxe e calquera data que escriba en BirthDate. Se o seu aniversario xa se produciu este ano, ShowText mostra un valor negativo.

Formatar as datas e as horas empregando DateTimeValue

Convirta datas e horas desde cadeas de texto en valores, que pode formatar de varias maneiras e empregar en cálculos. Especifique o formato empregando opcións incorporadas e personalizadas.

Nota

As funcións DataTimeValue e DateValue poden converter as datas en calquera destes formatos en valores:

  • MM/DD/YYYY
  • DD/MM/YYYY
  • DD Mes YYYY
  • Mes DD, AAAA
  1. Engada un control de Entrada de texto nomeado ArrivalDateTime e escriba unha data e hora neste formato:
    5/10/85 6:15 AM

  2. Engada un control de Etiqueta denominado ShowDate e configure a súa propiedade de Texto nesta fórmula:
    DateTimeValue(ArrivalDateTime.Text)

    ShowDate mostra a mesma información que escribiu, pero foi convertida dun texto a un valor e formatada de forma diferente. Por exemplo, o ano aparece como catro díxitos en vez de só dous.

  3. Cambie a propiedade Texto de ShowDate nesta fórmula:
    DateTimeValue(ArrivalDateTime.Text, "fr")

    ShowDate mostra o día antes do mes, como esperaría un usuario francés.

    Suxestión

    Para amosar unha lista doutras configuracións rexionais en Intellisense, elimine a comiña de peche e fr da fórmula, pero deixe a comiña de apertura:

  4. Para usar un dos varios formatos incorporados, cambie a propiedade de Texto de ShowDate nesta fórmula:
    Text(DateTimeValue(ArrivalDateTime.Text), DateTimeFormat.LongDateTime)

    ShowDate mostra o día da semana, a data e a hora.

    Suxestión

    O parámetro DataTimeFormat admite outros formatos incorporados. Para amosar esa lista, elimine LongDateTime da fórmula.

  5. Para usar un formato personalizado, cambie a propiedade de Texto de ShowDate nesta fórmula:
    Text(DateTimeValue(ArrivalDateTime.Text), "mm/dd/yyyy hh:mm:ss.fff AM/PM")

    ShowDate mostra o valor da data e hora no formato que especificou, incluídos os milisegundos.

    Suxestión

    Para redondear a hora ata a décima ou centésima de segundo máis próxima, especifique hh:mm:ss.f ou hh:mm:ss.ff na fórmula.

Formatar unha data usando DateValue

  1. Engada un control de Entrada de texto nomeado ArrivalDate e logo escriba unha data nel (por exemplo, 05/10/85).

  2. Engada un control de Etiqueta denominado FormatDate e configure a súa propiedade de Texto nesta fórmula:
    DateValue(ArrivalDate.Text)

    FormatDate mostra a data que escribiu, excepto que o ano aparece como catro díxitos.

  3. Axuste a propiedade Texto de FormatDate nesta fórmula:
    DateValue(ArrivalDate.Text, "fr")

    FormatDate mostra o día antes do mes, como esperaría un usuario francés.

  4. Para usar un dos varios formatos incorporados, defina a propiedade de Texto de FormatDate nesta fórmula:
    Text(DateValue(ArrivalDate.Text), DateTimeFormat.LongDate)

    FormatDate mostra o día da semana, o mes, o día e o ano.

  5. Para usar un formato personalizado, defina a propiedade de Texto de FormatDate nesta fórmula:
    Text(DateValue(ArrivalDate.Text), "yy/mm/dd")

    FormatDate mostra a data no formato que especificou.

Formatar unha hora usando DateTimeValue

  1. Engada un control de Entrada de texto nomeado ArrivalTime e logo escriba 6:15 AM nel.

  2. Engada un control de Etiqueta nomeado ShowTime.

  3. Para usar un dos varios formatos incorporados, defina a propiedade de Texto de ShowTime nesta fórmula:
    Text(DateTimeValue(ArrivalTime.Text), DateTimeFormat.LongTime)

    ShowTime mostra o tempo que especificou, incluídos os segundos.

  4. Para usar un formato personalizado, defina a propiedade de Texto de ShowTime nesta fórmula:
    Text(DateTimeValue(ArrivalTime.Text), "hh:mm:ss.fff AM/PM")

    ShowTime mostra o tempo que especificou, incluídos os segundos e milisegundos.

    Suxestión

    Para redondear a hora ata a décima ou centésima de segundo máis próxima, escriba hh:mm:ss.f ou hh:mm:ss.ff na fórmula.

Amosar o tempo entre datas

  1. Engada dous controis de Entrada de texto nomeados Start e End.

  2. Escriba 4/1/2015 en Start e escriba 1/1/2016 en End.

  3. Engada un control de Etiqueta denominado DateDiff e configure a súa propiedade de Texto nesta fórmula:
    DateDiff(DateValue(Start.Text), DateValue(End.Text))

    DataDiff mostra275, que é o número de días comprendidos entre o 1 de abril de 2015 e o 1 de xaneiro de 2016.

  4. Axuste a propiedade de Texto de DateDiff nesta fórmula:
    DateDiff(DateValue(Start.Text), DateValue(End.Text), Months)

    DataDiff mostra9, que é o número de meses comprendidos entre o 1 de abril de 2015 e o 1 de xaneiro de 2016. Substitúa Months por Quarters ou Years para mostrar o tempo en trimestres ou anos.

Identificar unha data anterior ou posterior a outra data

  1. Engada un control de Entrada de texto nomeado Start e logo escriba 5/10/1985 nel.

  2. Engada un control de Etiqueta denominado DateAdd e configure a súa propiedade de Texto nesta fórmula:
    DateAdd(DateValue(Start.Text), 3)

    DataAdd mostra5/13/1985, que é tres días despois da data en Start.

  3. Axuste a propiedade de Texto de DateAdd nesta fórmula:
    DateAdd(DateValue(Start.Text), -3)

    DataAdd mostra5/7/1985, que é tres días antes da data en Start.

  4. Cambie a propiedade de Texto de DateAdd nesta fórmula:
    DateAdd(DateValue(Start.Text), 3, Months)

    A etiqueta mostra 8/10/1985, que é tres meses despois da data en Start. Substitúa Months por Quarters ou Years para identificar unha data que é o número específico de trimestres ou anos anterior ou posterior á data en Start.

Calcular datas en función de anos, meses e días

  1. Engada tres controis Despregables nomeados Ano, Mes e Día.

  2. Axuste a propiedade de Elementos de Ano nesta fórmula:
    Table({Year:"2014"}, {Year:"2015"}, {Year:"2016"})

  3. Axuste a propiedade de Elementos de Mes nesta 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. Axuste a propiedade de Elementos de Día nesta 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. Engada un control Etiqueta e configure a súa propiedade Texto nesta fórmula:
    Text(Date(Value(Year.SelectedText.Value), Value(Month.SelectedText.Value), Value(Day.SelectedText.Value)), DateTimeFormat.LongDate)

    Mércores, 1 de xaneiro de 2014 aparece de xeito predeterminado. Seleccione diferentes valores nos controis despregables para cambiar a data no control de etiqueta.

É posible que teña que converter datos que non esperaba. Se engade controis de Entrada de texto en vez de controis despregables, un usuario pode introducir unha data incorrecta, como o 45 de maio. A función Date manexa datos atípicos das seguintes formas:

  • Se un valor de ano está entre 0 e 1899 (inclusive), a función engade ese valor a 1900 para calcular o ano.
  • Se un valor de ano está entre 1900 e 9999 (inclusive), a función usa ese valor como o ano.
  • Se un valor de ano é inferior a 0 ou superior a 10 000, a función devolve un valor de erro.
  • Se un valor dun mes é superior a 12, a función engade ese número de meses ao primeiro mes do ano especificado.
  • Se un valor dun mes é inferior a 1, a función resta eses meses, mais 1, do primeiro mes do ano especificado.
  • Se un valor de día é maior que o número de días do mes especificado, a función engade esa cantidade de días ao primeiro día do mes e devolve a data correspondente a un mes posterior.
  • Se un valor de daía é inferior a 1, a función resta eses días, mais 1, do primeiro día do mes especificado.

Calcular tempos en función das horas, minutos e segundos

  1. Engada dúas listas despregables nomeadas Hora e Minuto.

  2. Axuste a propiedade de Elementos de Hora nesta fórmula:
    Table({Hour:"9"}, {Hour:"10"}, {Hour:"11"}, {Hour:"12"}, {Hour:"13"}, {Hour:"14"}, {Hour:"15"}, {Hour:"16"}, {Hour:"17"})

  3. Axuste a propiedade de Elementos de Minutos nesta fórmula:
    Table({Minute:"0"}, {Minute:"15"}, {Minute:"30"}, {Minute:"45"})

  4. Engada un control Etiqueta e configure a súa propiedade Texto nesta fórmula:

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

  5. Seleccione 15 en Hora e 45 en Minuto.

    O control de Etiqueta amosa 3:45 PM.

    Pode engadir entradas a Hora e Minuto de xeito que os usuarios poidan seleccionar entre un maior rango de horas e un número de minutos máis preciso. Tamén pode engadir un terceiro control despregable para que os usuarios poidan especificar segundos. Se engade unha terceira lista, estableza a propiedade Texto do control de Etiqueta na seguinte expresión:
    Text(Time(Value(Hour.Selected.Value), Value(Minute.Selected.Value), Value(Second.Selected.Value)), DateTimeFormat.LongTime)

Consulte tamén

Exemplos do control do selector de datas

Nota

Pode indicarnos as súas preferencias para o idioma da documentación? Realice unha enquisa breve. (teña en conta que esa enquisa está en inglés)

Esta enquisa durará sete minutos aproximadamente. Non se recompilarán datos persoais (declaración de privacidade).