hugo/docs/content/en/functions/adddate.md
2022-04-28 11:52:15 +02:00

1.4 KiB

title description date publishdate lastmod categories menu keywords signature workson hugoversion relatedfuncs deprecated aliases
.AddDate Returns the time corresponding to adding the given number of years, months, and days to the given time.Time value. 2017-02-01 2017-02-01 2017-02-01
functions
docs
parent
functions
dates
time
.AddDate YEARS MONTHS DAYS
times
now
false
{{ $d := "2022-01-01" | time.AsTime }}

{{ $d.AddDate 0 0 1 | time.Format "2006-01-02" }} --> 2022-01-02
{{ $d.AddDate 0 1 1 | time.Format "2006-01-02" }} --> 2022-02-02
{{ $d.AddDate 1 1 1 | time.Format "2006-01-02" }} --> 2023-02-02

{{ $d.AddDate -1 -1 -1 | time.Format "2006-01-02" }} --> 2020-11-30

{{% note %}} When adding months or years, Hugo normalizes the final time.Time value if the resulting day does not exist. For example, adding one month to 31 January produces 2 March or 3 March, depending on the year.

See this explanation from the Go team. {{% /note %}}

{{ $d := "2023-01-31" | time.AsTime }}
{{ $d.AddDate 0 1 0 | time.Format "2006-01-02" }} --> 2023-03-03

{{ $d := "2024-01-31" | time.AsTime }}
{{ $d.AddDate 0 1 0 | time.Format "2006-01-02" }} --> 2024-03-02

{{ $d := "2024-02-29" | time.AsTime }}
{{ $d.AddDate 1 0 0 | time.Format "2006-01-02" }} --> 2025-03-01