Time
The Time registry provides tools to manage and manipulate dates, times, and time-related calculations, making it easy to handle time-based data in your projects.
date
The function formats a given date or the current time into a specified format string.
Signature
Date(fmt string, date any) (string, error)
{{ "2023-05-04T15:04:05Z" | date "Jan 2, 2006" }} // Output: "May 4, 2023"
dateInZone
The function formats a given date or the current time into a specified format string for a specified timezone.
Signature
DateInZone(fmt string, date any, zone string) (string, error)
{{ dateInZone "Jan 2, 2006", "2023-05-04T15:04:05Z", "UTC" }} // Output: "May 4, 2023"
{{ dateInZone "Jan 2, 2006", "2023-05-04T15:04:05Z", "invalid" }} // Error
duration
The function converts a given number of seconds into a human-readable duration string.
Signature
Duration(sec any) string
{{ 3661 | duration }} // Output: "1h1m1s"
dateAgo
The function calculates the time elapsed since a given date.
Signature
DateAgo(date any) string
{{ "2023-05-04T15:04:05Z" | dateAgo }} // Output: "4m"
now
The function returns the current time.
Signature
Now() time.Time
{{ now }} // Output: "2023-05-07T15:04:05Z"
unixEpoch
The function returns the Unix epoch timestamp for a given date.
Signature
UnixEpoch(date time.Time) string
{{ now | unixEpoch }} // Output: "1683306245"
dateModify
The function adjusts a given date by a specified duration, returning the modified date. If the duration format is incorrect, it returns the original date without any changes, in case of must version, an error are returned.
Signature
DateModify(fmt string, date time.Time) (time.Time, error)
{{ "2024-05-04T15:04:05Z" | dateModify "48h" }}
// Output: "2024-05-06T15:04:05Z", nil
{{ "2024-05-04T15:04:05Z" | dateModify "0z+" }}
// Output: "0000-00-00T00:00:00Z", error
durationRound
The function rounds a duration to the nearest significant time unit, such as years or seconds.
Signature
DurationRound(duration any) string
{{ "9600h" | durationRound }} // Output: "1y"
{{ "960h" | durationRound }} // Output: "1mo"
{{ "192h" | durationRound }} // Output: "8d"
{{ "3600s" | durationRound }} // Output: "1h"
{{ "300s" | durationRound }} // Output: "5m"
{{ "61s" | durationRound }} // Output: "1m"
{{ "59s" | durationRound }} // Output: "59s"
htmlDate
The function formats a date into the standard HTML date format (YYYY-MM-DD).
Signature
HtmlDate(date any) (string, error)
{{ "2023-05-04T15:04:05Z" | htmlDate }} // Output: "2023-05-04"
htmlDateInZone
The function formats a date into the standard HTML date format (YYYY-MM-DD) based on a specified timezone.
Signature
HtmlDateInZone(date any, zone string) (string, error)
{{ "2023-05-04T15:04:05Z", "UTC" | htmlDateInZone }} // Output: "2023-05-04"
Last updated