How to format a date ?
About
This how to will show you how to format a date with the pipeline format function.
You can apply it to any date variable such as:
- the today's date now
- or any page date attribute such as:
- date_created or date_modified of a page
- date_published (if specified, see The published date)
- date_start or date_end of an event
Example
Today's date
Without any formatting, the date is given in the iso date format
${now}
2023-05-24T16:17:25+00:00
To apply a formatting, you need to use the format function
${now | format()}
The output is a date formatted to the default format of your locale (ie country and language)
Wednesday, May 24, 2023
To have it refresh every day, we expire the page cache date daily
Today's date with a pattern
Today's date with a date pattern where:
- MMM is the short month description
- dd is the day number on two digits
${now | format( "MMM dd" )}
- The output:
May 24
Formatting a date content
Because a pipeline is an expression, you can even format a date written in your content.
${"2022-05-05" | format()}
- The output:
Thursday, May 5, 2022
Formatting a date in an other language
- A date formatted in French with the default pattern (The markup with the locale attribute with just the region (ie country) as value)
${now | format( "", "fr" )}
mercredi 24 mai 2023
- Compare it with the US date
${now | format( "", "us" )}
Wednesday, May 24, 2023
Date of a page
You can also print the date metadata of a page.
For instance, for the date of this article
* ${date_created | format()}
* ${date_modified | format()}
* ${date_published | format()}
The output is:
- Monday, April 17, 2023
- Monday, April 17, 2023
- Sunday, September 26, 2021