DateDifference

DateDifference[date1,date2]

gives the number of days from date1 to date2.

DateDifference[date1,date2,"unit"]

gives the difference between date1 and date2 in the specified unit.

DateDifference[date1,date2,{"unit1","unit2",}]

gives the difference as a list with elements corresponding to the successive "uniti".

Details and Options

  • DateDifference computes the amount of time between two given dates, expressing the result either as a physical duration or as a number of calendar steps.
  • DateDifference returns a Quantity object.
  • Dates can be specified in the following forms:
  • DateObject[]date object
    {y,m,d}year, month, day
    {y,m}the first day of the specified month
    {y}January 1 of the year y
    "string"date as a string ("Jan. 1, 2022")
    {y,m,d,h,m,s}precise time
    timeabsolute time specification
  • Possible units are "Year", "Quarter", "Month", "Week", "Day", "Hour", "Minute", "Second".
  • {y,m,d} is taken to be equivalent to {y,m,d,0,0,0} etc.
  • DateDifference takes the following option:
  • DayCountConvention "ActualActual"counting convention by which the difference is computed
    Method Automaticdate arithmetic method to use
  • For added time steps with variable duration (e.g. "Month"), date arithmetic can either convert the steps into a physical duration (continuous arithmetic) or treat them all as discrete calendar steps (discrete arithmetic).
  • The option value Method"Continuous" implements continuous arithmetic. Discrete arithmetic is implemented with Methodrolling, where possible rolling methods are "RollForward", "RollBackward" and "RollOver", with the default being "RollBackward".
  • For discrete arithmetic, adding, for example, a month may result in a date that does not exist (e.g. February 30). In such cases, there are three possible options for how that date should be resolved:
  • "RollBackward"roll back to the last existing date (Feb 28)
    "RollForward"roll forward to the next existing date (Mar 1)
    "RollOver"increment from the next existing date (Mar )
  • DateDifference enumerated in days follows the day count convention, regardless of the magnitude of the difference.
  • DateDifference[date2] gives the fractional number of days from the current time until date2.

Examples

open allclose all

Basic Examples  (4)

Give the number of days between January 1 and July 4:

Use dates specified in {y,m,d} form:

Find a date difference in units of weeks:

If the second date is before the first, the date difference is negative:

Scope  (6)

Date Formats  (3)

Give dates in any format supported by DateString:

Different date specifications can be mixed:

DateDifference can use times given in {y,m,d,h,m,s} format:

Units  (3)

Find the number of hours between two dates:

Find the number of years between two dates:

Find the difference between two dates in months and days:

Options  (6)

DayCountConvention  (2)

Day count conventions differ with respect to the count applied to the last days of the month:

Compute the difference in years, subject to a day count convention:

CalendarType  (2)

Compute a date difference in the Jewish calendar:

Islamic years are shorter than Gregorian years:

Method  (2)

By default, May 31 is three months prior to June 30:

Using Method"RollForward", there are two months and 30 days separating the dates:

Compare the results of different arithmetic methods when comparing two dates:

Applications  (2)

Find the number of years, months, and days since the beginning of the year 2000:

There are always 184 days between March 21 and September 21:

There are 181 days between September 21 and March 21 of the following year, if it is not a leap year:

There are 182 days if the following year is a leap year:

Properties & Relations  (1)

DatePlus adds time units to dates, while DateDifference computes units between dates:

The inverse relationship:

Possible Issues  (2)

Date strings can be ambiguous:

Use DateObject to disambiguate between different interpretations:

In previous Wolfram Language releases, DateDifference returned purely numerical results. This legacy behavior can be enabled with SetSystemOptions:

Quantity results can be re-enabled by setting the same system option value to True:

Wolfram Research (2007), DateDifference, Wolfram Language function, https://reference.wolfram.com/language/ref/DateDifference.html (updated 2022).

Text

Wolfram Research (2007), DateDifference, Wolfram Language function, https://reference.wolfram.com/language/ref/DateDifference.html (updated 2022).

CMS

Wolfram Language. 2007. "DateDifference." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2022. https://reference.wolfram.com/language/ref/DateDifference.html.

APA

Wolfram Language. (2007). DateDifference. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/DateDifference.html

BibTeX

@misc{reference.wolfram_2023_datedifference, author="Wolfram Research", title="{DateDifference}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/DateDifference.html}", note=[Accessed: 18-March-2024 ]}

BibLaTeX

@online{reference.wolfram_2023_datedifference, organization={Wolfram Research}, title={DateDifference}, year={2022}, url={https://reference.wolfram.com/language/ref/DateDifference.html}, note=[Accessed: 18-March-2024 ]}