Función DateDiffDateDiff function

Devuelve un valor Variant (Long) que especifica el número de intervalos de tiempo entre dos fechas especificadas.Returns a Variant (Long) specifying the number of time intervals between two specified dates.

SintaxisSyntax

DateDiff(intervalo, fecha1, fecha2, [ primerDíaDeLaSemana, [ primerdíaaño ]] )DateDiff(interval, date1, date2, [ firstdayofweek, [ firstweekofyear ]] )

La sintaxis de la función DateDiff tiene estos argumentos con nombre:The DateDiff function syntax has these named arguments:

PartePart DescripciónDescription
intervalinterval Obligatorio.Required. Expresión de cadena que es el intervalo de tiempo que se usa para calcular la diferencia entre fecha1 y fecha2.String expression that is the interval of time you use to calculate the difference between date1 and date2.
fecha1, fecha2date1, date2 Obligatorio; Variant (Date).Required; Variant (Date). Las dos fechas que se quieren usar en el cálculo.Two dates you want to use in the calculation.
firstdayofweekfirstdayofweek Opcional.Optional. Constante que especifica el primer día de la semana.A constant that specifies the first day of the week. Si no se especifica, se usa domingo.If not specified, Sunday is assumed.
firstweekofyearfirstweekofyear Opcional.Optional. Constante que especifica la primera semana del año.A constant that specifies the first week of the year. Si no se especifica la primera semana, se presupone que es la semana del 1 de enero.If not specified, the first week is assumed to be the week in which January 1 occurs.

ConfiguraciónSettings

El argumento intervalo tiene los siguientes valores:The interval argument has these settings:

ConfiguraciónSetting DescripciónDescription
yyyyyyyy AñoYear
qq TrimestreQuarter
mm MesMonth
yy Día del añoDay of year
dd DíaDay
ww Día de la semanaWeekday
wwww SemanaWeek
hh HoraHour
nn MinutoMinute
ss SegundoSecond

El argumento primerDíaDeLaSemana tiene los siguientes valores:The firstdayofweek argument has these settings:

ConstanteConstant ValorValue DescripciónDescription
vbUseSystemvbUseSystem 00% Se usa la configuración NLS API (compatibilidad con el idioma nacional).Use the NLS API setting.
vbSundayvbSunday 11. Domingo (valor predeterminado)Sunday (default)
vbMondayvbMonday 22. lunesMonday
vbTuesdayvbTuesday 33. martesTuesday
vbWednesdayvbWednesday 44. miércolesWednesday
vbThursdayvbThursday 55. juevesThursday
vbFridayvbFriday 66. viernesFriday
vbSaturdayvbSaturday 77. SábadoSaturday

ConstanteConstant ValorValue DescripciónDescription
vbUseSystemvbUseSystem 00% Se usa la configuración NLS API (compatibilidad con el idioma nacional).Use the NLS API setting.
vbFirstJan1vbFirstJan1 11. Se comienza con la semana en la que transcurre el 1 enero (predeterminado).Start with week in which January 1 occurs (default).
vbFirstFourDaysvbFirstFourDays 22. Se comienza con la primera semana que tenga como mínimo cuatro días en el año nuevo.Start with the first week that has at least four days in the new year.
vbFirstFullWeekvbFirstFullWeek 33. Se comienza con la primera semana completa del año.Start with first full week of the year.

ObservacionesRemarks

Puede usar la función DateDiff para determinar cuántos intervalos de tiempo especificados existen entre dos fechas.You can use the DateDiff function to determine how many specified time intervals exist between two dates. Por ejemplo, puede usar DateDiff para calcular el número de días entre dos fechas o el número de semanas entre hoy y el final del año.For example, you might use DateDiff to calculate the number of days between two dates, or the number of weeks between today and the end of the year.

Para calcular el número de días entre fecha1 y fecha2, puede utilizar día del año ("y") o día ("d").To calculate the number of days between date1 and date2, you can use either Day of year ("y") or Day ("d"). Cuando el intervalo es semana ("w"), DateDiff devuelve el número de semanas entre dos fechas.When interval is Weekday ("w"), DateDiff returns the number of weeks between the two dates. Si fecha1 es un lunes, DateDiff cuenta el número de lunes hasta fecha2.If date1 falls on a Monday, DateDiff counts the number of Mondays until date2. Cuenta fecha2 pero no fecha1.It counts date2 but not date1.

Sin embargo, si el intervalo es semana ("ww"), la función DateDiff devuelve el número de semanas del calendario entre dos fechas.If interval is Week ("ww"), however, the DateDiff function returns the number of calendar weeks between the two dates. Cuenta el número de domingos entre fecha1 y fecha2.It counts the number of Sundays between date1 and date2. DateDiff cuenta fecha2 si es un domingo, pero no cuenta fecha1 aunque también sea un domingo.DateDiff counts date2 if it falls on a Sunday; but it doesn't count date1, even if it does fall on a Sunday.

Si fecha1 hace referencia a un punto posterior en el tiempo a fecha2, la función DateDiff devuelve un número negativo.If date1 refers to a later point in time than date2, the DateDiff function returns a negative number. El argumento __ primerDíaDeLaSemana afecta a los cálculos que usan los símbolos de intervalo "w" y "ww".The firstdayofweek argument affects calculations that use the "w" and "ww" interval symbols.

Si fecha1 o fecha2 son un literal de fecha, el año especificado se convierte en una parte permanente de dicha fecha.If date1 or date2 is a date literal, the specified year becomes a permanent part of that date. Sin embargo, si fecha1 o fecha2 están entre comillas dobles (" ") y se omite el año, el año actual se inserta en el código cada vez que se evalúan las expresiones fecha1 o fecha2.However, if date1 or date2 is enclosed in double quotation marks (" "), and you omit the year, the current year is inserted in your code each time the date1 or date2 expression is evaluated. Esto permite escribir código que puede usarse en años diferentes.This makes it possible to write code that can be used in different years.

Al comparar el 31 de diciembre con el 1 de enero del año siguiente, DateDiff para Año ("yyyy") devuelve 1 aunque solo haya transcurrido un día.When comparing December 31 to January 1 of the immediately succeeding year, DateDiff for Year ("yyyy") returns 1 even though only a day has elapsed.

Nota

En el caso de fecha1 y fecha2, si el valor de la propiedad Calendar es gregoriano, la fecha especificada tiene que ser gregoriana.For date1 and date2, if the Calendar property setting is Gregorian, the supplied date must be Gregorian. Si el calendario es Hijri, la fecha especificada tiene que ser Hijri.If the calendar is Hijri, the supplied date must be Hijri.

EjemploExample

En este ejemplo se usa la función DateDiff para mostrar el número de días entre una fecha determinada y el día de hoy.This example uses the DateDiff function to display the number of days between a given date and today.

Dim TheDate As Date    ' Declare variables.
Dim Msg
TheDate = InputBox("Enter a date")
Msg = "Days from today: " & DateDiff("d", Now, TheDate)
MsgBox Msg

Vea tambiénSee also

Soporte técnico y comentariosSupport and feedback

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación?Have questions or feedback about Office VBA or this documentation? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.