# How to calculate Years between Dates in R ?

Last Updated : 25 Sep, 2023

To calculate the number of years between two dates we have several methods. In this article, we will discuss all the methods and their examples of how to calculate the number of years or the difference of years between two dates in the R Programming Language.

## Table of Content

#### Example:

Input:

Date_1 = 2020/02/21

Date_2 = 2023/03/21

Output:

3

Explanation:

In Date_1 and Date_2 have three years difference in year.

Here we will use the seq() function to get the result. This function is used to create a sequence of elements in a Vector.

Syntax:

length(seq(from=date_1, to=date_2, by=â€™yearâ€™)) -1

Example 1:

## R

 `# creating date_1 variable and ` `# storing date in it.` `date_1<-``as.Date``(``"2020-08-10"``)` ` `  `# creating date_2 variable and ` ` ``#storing date in it.` `date_2<-``as.Date``(``"2023-10-10"``)` ` `  `# Here first date will start from` `# 2020-08-10 and end by 2023-10-10.` `# Here increment is done by year.` `# This three dates will be generated ` `# as we used eq and this dates will ` `# be stored in a.` `a = ``seq``(from = date_1, to = date_2, by = ``'year'``)` `print``(a) ` `# Here we are finding length of a and` `# we are subtracting 1 because we dont ` `# need to include current year.` `print``(``length``(a)-1)`

Output:

`[1] "2020-08-10" "2021-08-10" "2022-08-10" "2023-08-10"[1] 3`

Example 2:

## R

 `# creating date_1 variable and` `# storing date in it.` `date_1<-``as.Date``(``"2020-08-10"``) `   `# creating date_2 variable and ` `# storing date in it.` `date_2<-``as.Date``(``"2100-08-10"``) `   `# Here first date will start from ` `# 2020-08-10 and end by 2100-08-10.` `# Here increment is done by year.` `# This three dates will be generated ` `# as we used seq and this dates will ` `# be stored in a.` `a = ``seq``(from = date_1, to = date_2, by = ``'year'``)` `print``(a)` `# Here we are finding length of a and ` `# we are subtracting 1 because we dont` `# need to include current year.` `print``(``length``(a)-1)`

Output:

`[1] "2020-08-10" "2021-08-10" "2022-08-10" "2023-08-10" "2024-08-10" [6] "2025-08-10" "2026-08-10" "2027-08-10" "2028-08-10" "2029-08-10"[11] "2030-08-10" "2031-08-10" "2032-08-10" "2033-08-10" "2034-08-10"[16] "2035-08-10" "2036-08-10" "2037-08-10" "2038-08-10" "2039-08-10"[21] "2040-08-10" "2041-08-10" "2042-08-10" "2043-08-10" "2044-08-10"[26] "2045-08-10" "2046-08-10" "2047-08-10" "2048-08-10" "2049-08-10"[31] "2050-08-10" "2051-08-10" "2052-08-10" "2053-08-10" "2054-08-10"[36] "2055-08-10" "2056-08-10" "2057-08-10" "2058-08-10" "2059-08-10"[41] "2060-08-10" "2061-08-10" "2062-08-10" "2063-08-10" "2064-08-10"[46] "2065-08-10" "2066-08-10" "2067-08-10" "2068-08-10" "2069-08-10"[51] "2070-08-10" "2071-08-10" "2072-08-10" "2073-08-10" "2074-08-10"[56] "2075-08-10" "2076-08-10" "2077-08-10" "2078-08-10" "2079-08-10"[61] "2080-08-10" "2081-08-10" "2082-08-10" "2083-08-10" "2084-08-10"[66] "2085-08-10" "2086-08-10" "2087-08-10" "2088-08-10" "2089-08-10"[71] "2090-08-10" "2091-08-10" "2092-08-10" "2093-08-10" "2094-08-10"[76] "2095-08-10" "2096-08-10" "2097-08-10" "2098-08-10" "2099-08-10"[81] "2100-08-10"[1] 80`

## R

 `# Example dates` `date1 <- ``as.Date``(``"2021-01-01"``)` `date2 <- ``as.Date``(``"2023-08-01"``)`   `# Calculate the difference in weeks` `weeks_diff <- ``difftime``(date2, date1, units = ``"weeks"``)` `print``(weeks_diff)`   `# Calculate and print the year difference` `year_diff <- weeks_diff / 52` `print``(``paste``(``'Year difference:'``, year_diff))`   `# Calculate the difference in days` `days_diff <- ``difftime``(date2, date1, units = ``"days"``)` `print``(days_diff)` `# Calculate and print the year difference` `year_diff <- days_diff / 365` `print``(``paste``(``'Year difference:'``, year_diff))`

Output:

`Time difference of 134.5714 weeks[1] "Year difference: 2.58791208791209"Time difference of 942 days[1] "Year difference: 2.58082191780822"`

## R

 `# Example dates` `date1 <- ``as.POSIXlt``(``"2021-01-01"``)` `date2 <- ``as.POSIXlt``(``"2023-08-01"``)`   `# Calculate the difference in years` `years_diff <- date2\$year - date1\$year` `years_diff`

Output:

`[1] 2`

methods