Response Templating - Dates and Times

MockLab has two helpers for manipulating dates - now and date.

Current date/time

The now helper renders the current date/time, with the ability to specify the format (see full reference) and offset.

{{now}}
{{now offset='3 days'}}
{{now offset='-24 seconds'}}
{{now offset='1 years'}}
{{now offset='10 years' format='yyyy-MM-dd'}}

Dates can be rendered in a specific timezone (the default is UTC):

{{now timezone='Australia/Sydney' format='yyyy-MM-dd HH:mm:ssZ'}}

Pass epoch as the format to render the date as UNIX epoch time (in milliseconds), or unix as the format to render the UNIX timestamp in seconds.

{{now offset='2 years' format='epoch'}}
{{now offset='2 years' format='unix'}}

Existing date values

The date helper can be used to manipulate existing date values, changing the offset, timezone and print format in exactly the same manner as with the now helper.

{{date myDate offset='-1 days' timezone='EST' format='yyyy-MM-dd'}}

Parsing dates from strings

Dates can be parsed from other model elements. This is mostly useful when passed to the date helper for further processing:

{{date (parseDate request.headers.MyDate) offset='-1 days'}}

Formatting dates

Date values can be formatted to strings using the dateFormat helper. You can either select a named format from the following:

  • full: full date format. For example: Tuesday, June 19, 2012
  • long: long date format. For example: June 19, 2012
  • medium: medium date format. For example: Jun 19, 2012
  • short: short date format. For example: 6/19/12

e.g.

{{dateFormat (parseDate '2020-01-01T11:11:11Z') 'full'}} // Wednesday, January 1, 2020

Or you can specify your own format string (full reference here):

{{dateFormat (parseDate '2020-01-01T11:11:11Z') format='yyyy-MM-dd'}} // 2020-01-01

Format string reference

The following details all of the format string elements used when formatting and parsing dates and times:

Letter Date or Time Component Presentation Examples
G Era designator Text AD
y Year Year 1996; 96
Y Week year Year 2009; 09
M Month in year Month July; Jul; 07
w Week in year Number 27
W Week in month Number 2
D Day in year Number 189
d Day in month Number 10
F Day of week in month Number 2
E Day name in week Text Tuesday; Tue
u Day number of week (1 = Monday, ..., 7 = Sunday) Number 1
a Am/pm marker Text PM
H Hour in day (0-23) Number 0
k Hour in day (1-24) Number 24
K Hour in am/pm (0-11) Number 0
h Hour in am/pm (1-12) Number 12
m Minute in hour Number 30
s Second in minute Number 55
S Millisecond Number 978
z Time zone General time zone Pacific Standard Time; PST; GMT-08:00
Z Time zone RFC 822 time zone -0800
X Time zone ISO 8601 time zone -08; -0800; -08:00