hugo/content/en/functions/adddate.md
Bjørn Erik Pedersen b9bd35d72e Squashed 'docs/' content from commit fdea5430f
git-subtree-dir: docs
git-subtree-split: fdea5430f89dfd849d39212abdf5ace0a4763e5a
2019-10-21 10:22:28 +02:00

1.8 KiB

title description godocref 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 passed to the function. https://golang.org/pkg/time/#Time.AddDate 2017-02-01 2017-02-01 2017-02-01
functions
docs
parent
functions
dates
time
.AddDate YEARS MONTHS DAYS
times
now
false

The AddDate function takes three arguments in logical order of years, months, and days.

Example: Randomized Tweets from the Last 2 Years

Let's assume you have a file at data/tweets.toml that contains a list of Tweets to display on your site's homepage. The file is filled with [[tweet]] blocks; e.g.---

[[tweet]]
name = "Steve Francia"
twitter_handle = "@spf13"
quote = "I'm creator of Hugo. #metadocreference"
link = "https://twitter.com/spf13"
date = "2017-01-07T00:00:00Z"

Let's assume you want to grab Tweets from the last two years and present them in a random order. In conjunction with the where and now functions, you can limit our range to the last two years via now.AddDate -2 0 0, which represents a point in time 2 years, 0 days, and 0 hours before the time of your last site build.

{{< code file="partials/templates/random-tweets.html" download="tweets.html" >}} {{ range where $.Site.Data.tweets.tweet "date" "ge" (now.AddDate -2 0 0) | shuffle }}

{{ .quote | safeHTML }}

— {{ .name }} ({{ .twitter_handle }}) {{ dateFormat "January 2, 2006" .date }}
{{ end }} {{< /code >}}