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/