Agregue fechas y horas y deles 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 PowerApps. 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 PowerApps, instálelo, ábralo e inicie sesión con las mismas credenciales que usó para suscribirse.
  • Cree una aplicación o abra una existente en PowerApps.
  • Aprenda a configurar un control en PowerApps.

Mostrar texto en un control Etiqueta

Muestre texto en un control Etiqueta estableciendo el valor de su propiedad Texto. 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, se ofrecen algunos ejemplos.

  1. Agregue un control Etiqueta denominado ShowText y establezca su propiedad Texto 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/aaaa 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/aaaa hh:mm AM/PM

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

    Número de días entre hoy y el 1 de enero de 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 Text input 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))

    Número de días entre hoy y su cumpleaños

    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 Text input 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 Texto en esta fórmula:
    DateTimeValue(ArrivalDateTime.Text)

    Convertir una fecha y hora de texto a un valor

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

    Mostrar un valor de fecha y hora en formato francés

    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:

    Mostrar una lista de configuraciones regionales

  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)

    Mostrar un valor de fecha y hora en formato francés

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

    Mostrar un valor de fecha y hora en formato francés

    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 Text input 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 Texto 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 Text input 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 Text input denominados Start y End.

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

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

    Comparar dos fechas

    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 Text input denominado Start y escriba 5/10/1985 en él.

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

    Agregar tres días

    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)

    Restar tres días

    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)

    Agregar tres meses

    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 Drop down 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 Texto en esta fórmula:
    Text(Date(Value(Year.Selected.Value), Value(Month.Selected.Value), Value(Day.Selected.Value)), DateTimeFormat.LongDate)

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

Es posible que deba convertir datos que no esperaba. Si agrega controles Text input en lugar de controles Drop down, 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 Texto en esta fórmula:

    Text(Time(Value(Hour.Selected.Value), Value(Minute.Selected.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 Drop down para que los usuarios puedan especificar segundos. Si agrega una tercera lista, establezca la propiedad Texto del control Etiqueta en la siguiente expresión:
    Text(Time(Value(Hour.Selected.Value), Value(Minute.Selected.Value), Value(Second.Selected.Value)), DateTimeFormat.LongTime)