Format
Syntax
TIME.Format LAYOUT
Returns
string
{{ $t := "2023-01-27T23:44:58-08:00" }}
{{ $t = time.AsTime $t }}
{{ $format := "2 Jan 2006" }}
{{ $t.Format $format }} → 27 Jan 2023
Use the Format method with any time.Time value, including the four predefined front matter dates:
{{ $format := "2 Jan 2006" }}
{{ .Date.Format $format }}
{{ .PublishDate.Format $format }}
{{ .ExpiryDate.Format $format }}
{{ .Lastmod.Format $format }}
Layout string
Format a time.Time value based on Go’s reference time:
Mon Jan 2 15:04:05 MST 2006
Create a layout string using these components:
| Description | Valid components | 
|---|---|
| Year | "2006" "06" | 
| Month | "Jan" "January" "01" "1" | 
| Day of the week | "Mon" "Monday" | 
| Day of the month | "2" "_2" "02" | 
| Day of the year | "__2" "002" | 
| Hour | "15" "3" "03" | 
| Minute | "4" "04" | 
| Second | "5" "05" | 
| AM/PM mark | "PM" | 
| Time zone offsets | "-0700" "-07:00" "-07" "-070000" "-07:00:00" | 
Replace the sign in the layout string with a Z to print Z instead of an offset for the UTC zone.
| Description | Valid components | 
|---|---|
| Time zone offsets | "Z0700" "Z07:00" "Z07" "Z070000" "Z07:00:00" | 
{{ $t := "2023-01-27T23:44:58-08:00" }}
{{ $t = time.AsTime $t }}
{{ $t = $t.Format "Jan 02, 2006 3:04 PM Z07:00" }}
{{ $t }} → Jan 27, 2023 11:44 PM -08:00 
Strings such as PST and CET are not time zones. They are time zone abbreviations.
Strings such as -07:00 and +01:00 are not time zones. They are time zone offsets.
A time zone is a geographic area with the same local time. For example, the time zone abbreviated by PST and PDT (depending on Daylight Savings Time) is America/Los_Angeles.
Examples
Given this front matter:
---
date: 2023-01-27T23:44:58-08:00
title: About time
---+++
date = 2023-01-27T23:44:58-08:00
title = 'About time'
+++{
   "date": "2023-01-27T23:44:58-08:00",
   "title": "About time"
}
The examples below were rendered in the America/Los_Angeles time zone:
| Format string | Result | 
|---|---|
Monday, January 2, 2006 | 
Friday, January 27, 2023 | 
Mon Jan 2 2006 | 
Fri Jan 27 2023 | 
January 2006 | 
January 2023 | 
2006-01-02 | 
2023-01-27 | 
Monday | 
Friday | 
02 Jan 06 15:04 MST | 
27 Jan 23 23:44 PST | 
Mon, 02 Jan 2006 15:04:05 MST | 
Fri, 27 Jan 2023 23:44:58 PST | 
Mon, 02 Jan 2006 15:04:05 -0700 | 
Fri, 27 Jan 2023 23:44:58 -0800 | 
UTC and local time
Convert and format any time.Time value to either Coordinated Universal Time (UTC) or local time.
{{ $t := "2023-01-27T23:44:58-08:00" }}
{{ $t = time.AsTime $t }}
{{ $format := "2 Jan 2006 3:04:05 PM MST" }}
{{ $t.UTC.Format $format }} → 28 Jan 2023 7:44:58 AM UTC
{{ $t.Local.Format $format }} → 27 Jan 2023 11:44:58 PM PST
Ordinal representation
Use the humanize function to render the day of the month as an ordinal number:
{{ $t := "2023-01-27T23:44:58-08:00" }}
{{ $t = time.AsTime $t }}
{{ humanize $t.Day }} of {{ $t.Format "January 2006" }} → 27th of January 2023