time.md (2352B)
1 --- 2 title: time 3 linktitle: 4 description: Converts a timestamp string into a `time.Time` structure. 5 date: 2017-02-01 6 publishdate: 2017-02-01 7 lastmod: 2017-02-01 8 categories: [functions] 9 menu: 10 docs: 11 parent: "functions" 12 keywords: [dates,time,location] 13 signature: ["time INPUT [TIMEZONE]"] 14 workson: [] 15 hugoversion: "v0.77.0" 16 relatedfuncs: [] 17 deprecated: false 18 aliases: [] 19 --- 20 21 22 `time` converts a timestamp string with an optional default location into a [`time.Time`](https://godoc.org/time#Time) structure so you can access its fields: 23 24 ``` 25 {{ time "2016-05-28" }} → "2016-05-28T00:00:00Z" 26 {{ (time "2016-05-28").YearDay }} → 149 27 {{ mul 1000 (time "2016-05-28T10:30:00.00+10:00").Unix }} → 1464395400000, or Unix time in milliseconds 28 ``` 29 30 ## Using Locations 31 32 The optional `TIMEZONE` parameter is a string that sets a default time zone (or more specific, the location, which represents the collection of time offsets in a geographical area) 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 `TIMEZONE` parameter. 33 34 The list of valid locations may be system dependent, but should include `UTC`, `Local`, or any location in the [IANA Time Zone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). 35 36 If no `TIMEZONE` is set, the `timeZone` from site configuration will be used. 37 38 ``` 39 {{ time "2020-10-20" }} → 2020-10-20 00:00:00 +0000 UTC 40 {{ time "2020-10-20" "America/Los_Angeles" }} → 2020-10-20 00:00:00 -0700 PDT 41 {{ time "2020-01-20" "America/Los_Angeles" }} → 2020-01-20 00:00:00 -0800 PST 42 ``` 43 44 ## Example: Using `time` to get Month Index 45 46 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][int], and then uses [`printf`][] to convert the `Month` property of `time` into an index. 47 48 The following example may be useful when setting up [multilingual sites][multilingual]: 49 50 {{< code file="unix-to-month-integer.html" >}} 51 {{$time := time (int .Params.addDate)}} 52 => $time = 1489276800 53 {{$time.Month}} 54 => "March" 55 {{$monthindex := printf "%d" $time.Month }} 56 => $monthindex = 3 57 {{< /code >}} 58 59 60 [int]: /functions/int/ 61 [multilingual]: /content-management/multilingual/ 62 [`printf`]: /functions/printf/