hugo/content/functions/adddate.md
Bjørn Erik Pedersen ec4e6f9df2 Squashed 'docs/' content from commit f887bd7b
git-subtree-dir: docs
git-subtree-split: f887bd7b4e3e7c7e76cd63951e5b0d37d8fe0ac7
2017-08-10 17:18:22 +02:00

1.8 KiB

title description godocref date publishdate lastmod categories menu 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
.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 >}}