Mostrar texto, fechas y horas en aplicaciones de lienzo

En Power Apps, agregue fechas y horas a una aplicación de lienzo y asígneles formato para mostrar el nivel de detalle adecuado o para reflejar la configuración regional. Calcule el tiempo entre dos fechas o calcule una fecha que esté cierto tiempo antes o después de una fecha que especifique. Convierta fechas en y desde valores independientes para días, meses y años, y convierta horas en y desde valores independientes para horas, minutos y segundos.

Por ejemplo, agregue datos de usuarios sobre operaciones con acciones o reuniones con clientes, de un origen externo o de otra aplicación creada en Power Apps. Si esos datos incluyen horas detalladas hasta el milisegundo, redondéelas al minuto más cercano para simplificarlas. Calcule cuántos días quedan hasta un hito importante. Si desea programar reuniones con los clientes cada cinco días, calcule esas fechas automáticamente. Si el 10 de mayo de 1985 está almacenado en campos independientes para el día, el mes y el año, consolide esos campos en un solo valor. También puede dividir cada fecha en valores independientes si su aplicación los administra por separado.

Requisitos previos

  • Suscríbase a Power Apps y después inicie sesión con las mismas credenciales utilizadas para la suscripción.
  • Cree una aplicación o abra una existente en Power Apps.
  • Obtenga información sobre cómo configurar un control en Power Apps.

Mostrar texto en un control Etiqueta

Muestre texto en un control Etiqueta estableciendo el valor de su propiedad Text. Establezca esta propiedad escribiendo directamente en el control o escribiendo una expresión en la barra de fórmulas.

  • Si escribe directamente en el control, este muestra exactamente lo que escribe.
  • Si escribe una expresión en la barra de fórmulas, el control muestra el resultado de la expresión.

A continuación, encontrará algunos ejemplos.

  1. Agregue un control Etiqueta denominado ShowText y establezca su propiedad Text en esta fórmula:
    Now()

    Si su equipo tiene establecida la configuración regional "en-us", la fecha y hora actuales aparecen en este formato:
    mm/dd/yyyy hh:mm AM/PM

    Si su equipo tiene establecida la configuración regional "fr-fr", la fecha y hora actuales aparecen en este formato:
    dd/mm/yyyy hh:mm AM/PM

  2. Establezca la propiedad Text de ShowText en esta fórmula:
    DateDiff(Today(), DateValue("01/01/2020"))

    El control muestra el número de días entre hoy y el 1 de enero de 2020. Para ello, usa estas funciones:

    • DateDiff, que calcula el número de días, trimestres o años entre dos fechas.
    • Today, que calcula el día actual como un valor.
    • DateValue, que convierte una cadena literal, como la que se muestra entre comillas dobles, en un valor en el que se pueden realizar cálculos.
  3. Agregue un control Entrada de texto denominado BirthDate y colóquelo bajo ShowText.

  4. En BirthDate, escriba el mes y el día de su nacimiento (por ejemplo, 05/18).

  5. Establezca la propiedad Text de ShowText en esta fórmula:
    DateDiff(Today(), DateValue(BirthDate.Text))

    ShowText muestra el número de días entre hoy y la fecha que haya escrito en BirthDate. Si la fecha de su cumpleaños ya ha pasado este año, ShowText muestra un valor negativo.

Aplicar formato a fechas y horas mediante DateTimeValue

Convierta fechas y horas de cadenas de texto a valores, a los que puede dar formato de diversas maneras y usarlos en los cálculos. Especifique el formato con las opciones integradas y personalizadas.

Nota

Las funciones DateTimeValue y DateValue pueden convertir en valores fechas que estén en cualquiera de estos formatos:

  • MM/DD/AAAA
  • DD/MM/AAAA
  • DD Mes AAAA
  • Mes DD, AAAA
  1. Agregue un control Entrada de texto denominado ArrivalDateTime y escriba una fecha y una hora en este formato:
    5/10/85 6:15 AM

  2. Agregue un control Etiqueta denominado ShowDate y establezca su propiedad Text en esta fórmula:
    DateTimeValue(ArrivalDateTime.Text)

    ShowDate muestra la misma información que ha escrito, pero se ha convertido de texto a un valor y se le ha aplicado un formato distinto. Por ejemplo, el año aparece como cuatro dígitos en lugar de simplemente dos.

  3. Cambie la propiedad Text de ShowDate a esta fórmula:
    DateTimeValue(ArrivalDateTime.Text, "fr")

    ShowDate muestra el día antes del mes, tal y como esperaría un usuario francés.

    Sugerencia

    Para mostrar una lista de otras configuraciones regionales en Intellisense, quite las comillas de cierre y fr de la fórmula, pero conserve las comillas de apertura:

  4. Para utilizar uno de los varios formatos integrados, cambie la propiedad Text de ShowDate a esta fórmula:
    Text(DateTimeValue(ArrivalDateTime.Text), DateTimeFormat.LongDateTime)

    ShowDate muestra el día de la semana, la fecha y la hora.

    Sugerencia

    El parámetro DateTimeFormat admite otros formatos integrados. Para mostrar esa lista, quite LongDateTime de la fórmula.

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

    ShowDate muestra el valor de fecha y hora en el formato que ha especificado, incluidos los milisegundos.

    Sugerencia

    Para redondear la hora a la décima o centésima de segundo más cercana, especifique hh:mm:ss.f o hh:mm:ss.ff en la fórmula.

Aplicar formato a una fecha mediante DateValue

  1. Agregue un control Entrada de texto denominado ArrivalDate y, luego, escriba una fecha en él (por ejemplo, 5/10/85).

  2. Agregue un control Etiqueta denominado FormatDate y establezca su propiedad Text en esta fórmula:
    DateValue(ArrivalDate.Text)

    FormatDate muestra la fecha que ha escrito, pero el año aparece con cuatro dígitos.

  3. Establezca la propiedad Text de FormatDate en esta fórmula:
    DateValue(ArrivalDate.Text, "fr")

    FormatDate muestra el día antes del mes, tal y como esperaría un usuario francés.

  4. Para usar uno de los varios formatos integrados, establezca la propiedad Text de FormatDate en esta fórmula:
    Text(DateValue(ArrivalDate.Text), DateTimeFormat.LongDate)

    FormatDate muestra el día de la semana, el mes, el día y el año.

  5. Para usar un formato personalizado, establezca la propiedad Text de FormatDate en esta fórmula:
    Text(DateValue(ArrivalDate.Text), "yy/mm/dd")

    FormatDate muestra la fecha en el formato especificado.

Dar formato a una hora mediante DateTimeValue

  1. Agregue un control Entrada de texto denominado ArrivalTime y, luego, escriba 6:15 AM en él.

  2. Agregue un control Etiqueta denominado ShowTime.

  3. Para usar uno de los varios formatos integrados, establezca la propiedad Text de ShowTime en esta fórmula:
    Text(DateTimeValue(ArrivalTime.Text), DateTimeFormat.LongTime)

    ShowTime muestra la hora que ha especificado, incluidos los segundos.

  4. Para usar un formato personalizado, establezca la propiedad Text de ShowTime en esta fórmula:
    Text(DateTimeValue(ArrivalTime.Text), "hh:mm:ss.fff AM/PM")

    ShowTime muestra la hora que ha especificado, incluidos los segundos y los milisegundos.

    Sugerencia

    Para redondear la hora a la décima o centésima de segundo más cercana, escriba hh:mm:ss.f o hh:mm:ss.ff en la fórmula.

Mostrar el tiempo entre fechas

  1. Agregue dos controles Entrada de texto denominados Start y End.

  2. Escriba 4/1/2015 en Start y 1/1/2016 en End.

  3. Agregue un control Etiqueta denominado DateDiff y establezca su propiedad Text en esta fórmula:
    DateDiff(DateValue(Start.Text), DateValue(End.Text))

    DateDiff muestra 275, que es el número de días entre el 1 de abril de 2015 y el 1 de enero de 2016.

  4. Establezca la propiedad Text de DateDiff en esta fórmula:
    DateDiff(DateValue(Start.Text), DateValue(End.Text), Months)

    DateDiff muestra 9, que es el número de meses entre el 1 de abril de 2015 y el 1 de enero de 2016. Reemplace Months con Quarters o Years para mostrar el tiempo en trimestres o años.

Identificar una fecha antes o después de otra fecha

  1. Agregue un control Entrada de texto denominado Start y escriba 5/10/1985 en él.

  2. Agregue un control Etiqueta denominado DateAdd y establezca su propiedad Text en esta fórmula:
    DateAdd(DateValue(Start.Text), 3)

    DateAdd muestra 5/13/1985, que es tres días después de la fecha establecida en Start.

  3. Establezca la propiedad Text de DateAdd en esta fórmula:
    DateAdd(DateValue(Start.Text), -3)

    DateAdd muestra 5/7/1985, que es tres días antes de la fecha establecida en Start.

  4. Cambie la propiedad Text de DateAdd a esta fórmula:
    DateAdd(DateValue(Start.Text), 3, Months)

    La etiqueta muestra 8/10/1985, que es tres meses después de la fecha establecida en Start. Reemplace Months con Quarters o Years para identificar una fecha que tenga lugar el número especificado de trimestres o años antes o después de la fecha establecida en Start.

Calcular fechas basándose en años, meses y días

  1. Agregue tres controles Desplegable denominados Year, Month y Day.

  2. Establezca la propiedad Items de Year en esta fórmula:
    Table({Year:"2014"}, {Year:"2015"}, {Year:"2016"})

  3. Establezca la propiedad Items de Month en 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. Establezca la propiedad Items de Day en 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. Agregue un control Etiqueta y establezca su propiedad Text en esta fórmula:
    Text(Date(Value(Year.SelectedText.Value), Value(Month.SelectedText.Value), Value(Day.SelectedText.Value)), DateTimeFormat.LongDate)

    La fecha miércoles, 1 de enero de 2014 aparece de forma predeterminada. Seleccione valores diferentes en los controles Desplegable para cambiar la fecha en el control Etiqueta.

Es posible que deba convertir datos que no esperaba. Si agrega controles Entrada de texto en lugar de controles Desplegable, puede que un usuario escriba una fecha incorrecta, como 45 de mayo. La función Date se encarga de los datos inusuales de las siguientes formas:

  • Si un valor de año está comprendido entre 0 y 1899 (ambos incluidos), la función agrega ese valor a 1900 para calcular el año.
  • Si un valor de año está comprendido entre 1900 y 9999 (ambos incluidos), la función usa ese valor como el año.
  • Si un valor de año es menor que 0, o mayor o igual que 10000, la función devuelve un valor de error.
  • Si un valor de mes es mayor que 12, la función suma ese número de meses al primer mes del año especificado.
  • Si un valor de mes es menor que 1, la función resta ese número de meses, más 1, del primer mes del año especificado.
  • Si un valor de día es mayor que el número de días del mes especificado, la función sumará esos días al primer día del mes y devolverá la fecha correspondiente de un mes posterior.
  • Si un valor de día es menor que 1, la función resta esa cantidad de días, más 1, del primer día del mes especificado.

Calcular tiempos basándose en horas, minutos y segundos

  1. Agregue dos listas Drop-down denominadas Hour y Minute.

  2. Establezca la propiedad Items de Hour en esta fórmula:
    Table({Hour:"9"}, {Hour:"10"}, {Hour:"11"}, {Hour:"12"}, {Hour:"13"}, {Hour:"14"}, {Hour:"15"}, {Hour:"16"}, {Hour:"17"})

  3. Establezca la propiedad Items de Minute en esta fórmula:
    Table({Minute:"0"}, {Minute:"15"}, {Minute:"30"}, {Minute:"45"})

  4. Agregue un control Etiqueta y establezca su propiedad Text en esta fórmula:

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

  5. Seleccione 15 en Hour y 45 en Minute.

    El control Etiqueta muestra 3:45 PM.

    Puede agregar entradas a Hour y Minute para que los usuarios puedan seleccionar entre un intervalo más amplio de horas y un número más preciso de minutos. También puede agregar un tercer control Desplegable para que los usuarios puedan especificar segundos. Si agrega una tercera lista, establezca la propiedad Text del control Etiqueta en la siguiente expresión:
    Text(Time(Value(Hour.Selected.Value), Value(Minute.Selected.Value), Value(Second.Selected.Value)), DateTimeFormat.LongTime)

Consulte también

Ejemplos del control Selector de fecha

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).