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.

You can easily import all the functions from the time registry by including the following import statement in your code

import "github.com/go-sprout/sprout/registry/time"

date

The function formats a given date or the current time into a specified format string.

Signature

{{ "2023-05-04T15:04:05Z" | toDate "2006-01-02T15: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

{{- $date := "2023-05-04T15:04:05Z" | toDate "2006-01-02T15:04:05Z" -}}
{{ dateInZone "Jan 2, 2006" $date "UTC" }} // Output: "May 4, 2023"

{{- $date := "2023-05-04T15:04:05Z" | toDate "2006-01-02T15:04:05Z" -}}
{{ dateInZone "Jan 2, 2006" $date "invalid" }} // Error

duration

The function converts a given number of seconds into a human-readable duration string.

Signature

dateAgo

The function calculates the time elapsed since a given date.

Signature

dateAgo can receive multiples input types like:

  • time.Time object (object or pointer)

  • int, int32, int64 converted as Unix

now

The function returns the current time.

Signature

unixEpoch

The function returns the Unix epoch timestamp for a given date.

Signature

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 is returned.

Signature

durationRound

The function rounds a duration to the nearest significant time unit, such as years or seconds.

Signature

htmlDate

The function formats a date into the standard HTML date format (YYYY-MM-DD).

Signature

This basically call dateInZone("2006-01-02", date, "Local")

htmlDateInZone

The function formats a date into the standard HTML date format (YYYY-MM-DD) based on a specified timezone.

Signature

This basically call dateInZone("2006-01-02", date, zone)

Last updated