Date Functions
now
The current date/time. Use this in conjunction with other date functions.
ago
The ago function returns duration from time.Now in seconds resolution.
ago .CreatedAt"
returns in time.Duration String() format
2h34m7s
date
The date function formats a date.
Format the date to YEAR-MONTH-DAY:
now | date "2006-01-02"
Date formatting in Go is a little bit different.
In short, take this as the base date:
Mon Jan 2 15:04:05 MST 2006
Write it in the format you want. Above, 2006-01-02 is the same date, but
in the format we want.
dateInZone
Same as date, but with a timezone.
dateInZone "2006-01-02" (now) "UTC"
duration
Formats a given amount of seconds as a time.Duration.
This returns 1m35s
duration "95"
durationRound
Rounds a given duration to the most significant unit. Strings and time.Duration
gets parsed as a duration, while a time.Time is calculated as the duration since.
This return 2h
durationRound "2h10m5s"
This returns 3mo
durationRound "2400h10m5s"
unixEpoch
Returns the seconds since the unix epoch for a time.Time.
now | unixEpoch
dateModify, mustDateModify
The dateModify takes a modification and a date and returns the timestamp.
Subtract an hour and thirty minutes from the current time:
now | date_modify "-1.5h"
If the modification format is wrong dateModify will return the date unmodified. mustDateModify will return an error otherwise.
htmlDate
The htmlDate function formats a date for inserting into an HTML date picker
input field.
now | htmlDate
htmlDateInZone
Same as htmlDate, but with a timezone.
htmlDateInZone (now) "UTC"
toDate, mustToDate
toDate converts a string to a date. The first argument is the date layout and
the second the date string. If the string can’t be convert it returns the zero
value.
mustToDate will return an error in case the string cannot be converted.
This is useful when you want to convert a string date to another format (using pipe). The example below converts “2017-12-31” to “31/12/2017”.
toDate "2006-01-02" "2017-12-31" | date "02/01/2006"