time
Syntax
time INPUT [LOCATION]
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:
{{$time := time (int .Params.addDate)}}
=> $time = 1489276800
{{$time.Month}}
=> "March"
{{$monthindex := printf "%d" $time.Month }}
=> $monthindex = 3