Compartir a través de


DateAddFunciones , DateDiffy TimeZoneOffset

Functions Se aplica a
DateAdd
DateDiff
Aplicaciones de lienzo Copilot Studio Desktop fluyen columnas de fórmulas de Dataverse formula columns Model-driven apps Power Platform CLI Dataverse functions Power Pages
TimeZoneOffset Aplicaciones de lienzo Copilot Studio Desktop fluyen aplicaciones controladas por modelos de power Platform FUNCIONES de Power Platform Dataverse Power Pages
Function Se aplica a
DateAdd
DateDiff
TimeZoneOffset

Agrega valores de fecha y hora o encuentra la diferencia en estos valores y realiza la conversión entre la hora local y UTC.

Descripción

La DateAdd función agrega una serie de unidades a un valor de fecha y hora. El resultado es un nuevo valor de fecha y hora. También puede restar un número de unidades de un valor de fecha y hora mediante la especificación de un valor negativo.

La DateDiff función devuelve la diferencia entre dos valores de fecha y hora. El resultado es un número entero de unidades.

En ambas funciones, las unidades pueden ser TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters o TimeUnit.Years. De forma predeterminada, ambas funciones usan TimeUnit.Days como unidades.

La TimeZoneOffset función devuelve el número de minutos entre la hora local del usuario y la hora UTC (hora universal coordinada).

Puede usar DateAdd con TimeZoneOffset para convertir entre la hora local del usuario y la hora UTC (hora universal coordinada). Agregar TimeZoneOffset convertirá una hora local a UTC y restándola (agregando el negativo) se convertirá de UTC a hora local.

Para obtener más información, consulte también las secciones sobre los tipos de datos Date, Time y DateTime, y sobre cómo trabajar con Date y Time.

Sintaxis

DateAdd( DateTime, Addition [, Units ] )

  • DateTime - Obligatorio. Valor de fecha y hora con el que operar.
  • Adición - Obligatorio. Número, en unidades, para agregar a DateTime.
  • Unidades - Opcional. El tipo de Unidades para agregar: TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters o TimeUnit.Years. Si no se especifica, se usará TimeUnit.Days.

DateDiff( StartDateTime, EndDateTime [, Units ] )

  • StartDateTime - Obligatorio. Valor de fecha y hora de inicio.
  • EndDateTime - Obligatorio. Valor de fecha y hora de finalización.
  • Unidades - Opcional. El tipo de Unidades para restar: TimeUnit.Milliseconds, TimeUnit.Seconds, TimeUnit.Minutes, TimeUnit.Hours, TimeUnit.Days, TimeUnit.Months, TimeUnit.Quarters o TimeUnit.Years. Si no se especifica, se usará TimeUnit.Days.

TimeZoneOffset( [ DateTime ] )

  • DateTime - Opcional. Valor de fecha y hora para el que se devuelve el desplazamiento. De forma predeterminada, se utiliza la fecha y hora actuales.

Ejemplos

En todos estos ejemplos, se supone que la fecha y hora actuales son 15 de julio de 2013, 1:02 p.m.

Sencillo DateAdd

Fórmula Descripción Resultado
Text( DateAdd( Now(), 3 ),
"dd-mm-aaaa hh:mm" )
Agrega tres días (unidades predeterminadas) a la fecha y hora actuales. "18-07-2013 13:02"
Text( DateAdd( Now(), 4, TimeUnit.Hours ),
"dd-mm-aaaa hh:mm" )
Agrega cuatro horas a la fecha y hora actuales. "15-07-2013 17:02"
Text( DateAdd( Today(), 1, TimeUnit.Months ),
"dd-mm-aaaa hh:mm" )
Agrega un mes a la fecha actual, sin tiempo dado que Today no devuelve un componente de tiempo. "15-08-2013 00:00"
Text( DateAdd( Now(), -30, TimeUnit.Minutes ),
"dd-mm-aaaa hh:mm" )
Resta 30 minutos de la fecha y hora actuales. "15-07-2013 12:32"

Sencillo DateDiff

Fórmula Descripción Resultado
DateDiff( Now(), DateValue("1/1/2014") ) Devuelve la diferencia entre las dos unidades en las unidades predeterminadas de TimeUnit.Days 170
DateDiff( Now(), DateValue("1/1/2014"), TimeUnit.Months ) Devuelve la diferencia entre los dos valores en TimeUnit.Months 6
DateDiff( Now(), Today(), TimeUnit.Minutes ) Devuelve la diferencia entre la fecha y hora actuales y la fecha actual solamente (ninguna hora) en minutos. Puesto que Now es posterior a Today, el resultado es negativo. -782

Diferencia de fechas con resultados fraccionados

La función DateDiff solo devuelve un número entero de las unidades que se restan y la precisión se da en la unidad especificada. Para calcular la diferencia con mayor precisión, utilice una unidad más pequeña y convierta el resultado de forma adecuada, como en los ejemplos siguientes.

Fórmula Descripción Resultado
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Hours ) Los minutos/segundos se ignoran, la diferencia se basa en el tiempo hasta la hora. 1
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Minutes )/60 Se usan los minutos en la diferencia y el resultado se divide entre 60 para tener la diferencia en horas. 0.5
DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Seconds )/3600 Se usan los minutos y los segundos en la diferencia y el resultado se divide entre 3600 para tener la diferencia en horas. 0.51

Conversión a UTC

Para convertir a UTC (hora universal coordinada), agregue el para TimeZoneOffset la hora especificada.

Imagine, por ejemplo, que los valores de fecha y hora actuales son 15 de julio de 2013, 1:02 p.m. en la Hora de verano del Pacífico (PDT, UTC-7). Para determinar la hora actual en hora UTC, use:

  • DateAdd( Now(), TimeZoneOffset(), TimeUnit.Minutes )

TimeZoneOffset el valor predeterminado es la hora actual, por lo que no es necesario pasarlo a un argumento.

Para ver el resultado, use la función Text con el formato dd-mm-yyyy hh:mm, que devolverá 15-07-2013 20:02.

Conversión desde UTC

Para convertir de UTC, reste TimeZoneOffset (agregando el negativo) para la hora especificada.

Imagine, por ejemplo, que los valores de fecha y hora UTC 15 de julio de 2013, 8:02 p.m. se almacenan en una variable llamada StartTime. Para ajustar la hora de la zona horaria del usuario, use:

  • DateAdd( StartTime, −TimeZoneOffset( StartTime ), TimeUnit.Minutes )

Observe el signo negativo antes de TimeZoneOffset restar el desplazamiento en lugar de agregarlo.

Para ver el resultado, use la función Text con el formato dd-mm-yyyy hh:mm, que devuelve 15-07-2013 13:02 en la Hora de verano del Pacífico.