hugo/content/en/functions/time.md
Bjørn Erik Pedersen b74591123e Squashed 'docs/' changes from d1157b687..57c1d1a67
57c1d1a67 Add note about issue with Instagram shortcode
2a4355113 Add example for regional language tags (#1139)
5e9a60fc0 Format dates with "th", "nd", and "rd". (#1254)
43df9a7f6 Update index.md
f15f32590 Update index.md
5a15be93d Update configuration.md
e71c1c545 Update configuration.md
5fd0439ff Release Hugo 0.77.0
5b875477c releaser: Add release notes to /docs for release of 0.77.0
09a2a3199 docs: Regen docs helper
bebef9bbe Merge commit '9cabb46f68bae01aeb1859727dcb21e8a10f5ec7'
f5ed02685 tpl: Refactor time.AsTime location implementation
f3b8eccd2 tpl: Update Hugo time to support optional [LOCATION] parameter

git-subtree-dir: docs
git-subtree-split: 57c1d1a67b9da5ba8ad5151d464f3fd7a21a24d8
2020-11-03 13:04:56 +01:00

2.1 KiB

title linktitle description godocref date publishdate lastmod categories menu keywords signature workson hugoversion relatedfuncs deprecated aliases
time Converts a timestamp string into a `time.Time` structure. 2017-02-01 2017-02-01 2017-02-01
functions
docs
parent
functions
dates
time
location
time INPUT [LOCATION]
v0.77.0
false

time converts a timestamp string with an optional default location into a time.Time structure so you can access its fields:

{{ time "2016-05-28" }} → "2016-05-28T00:00:00Z"
{{ (time "2016-05-28").YearDay }} → 149
{{ mul 1000 (time "2016-05-28T10:30:00.00+10:00").Unix }} → 1464395400000, or Unix time in milliseconds

Using Locations

The optional LOCATION parameter is a string that sets a default location that is associated with the specified time value. If the time value has an explicit timezone or offset specified, it will take precedence over the LOCATION parameter.

The list of valid locations may be system dependent, but should include UTC, Local, or any location in the IANA Time Zone database.

{{ time "2020-10-20" }} → 2020-10-20 00:00:00 +0000 UTC
{{ time "2020-10-20" "America/Los_Angeles" }} → 2020-10-20 00:00:00 -0700 PDT
{{ time "2020-01-20" "America/Los_Angeles" }} → 2020-01-20 00:00:00 -0800 PST

Example: Using time to get Month Index

The following example takes a UNIX timestamp---set as utimestamp: "1489276800" in a content's front matter---converts the timestamp (string) to an integer using the int function, and then uses printf to convert the Month property of time into an index.

The following example may be useful when setting up multilingual sites:

{{< code file="unix-to-month-integer.html" >}} {{$time := time (int .Params.addDate)}} => $time = 1489276800 {{$time.Month}} => "March" {{$monthindex := printf "%d" $time.Month }} => $monthindex = 3 {{< /code >}}