dateutils

package
v0.35.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 24, 2025 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package dateutils provides functions to work with dates.

Index

Examples

Constants

View Source
const CrossrefDateTimeFormat = "20060102150405"

CrossrefDateTimeFormat is the Crossref date format with time, used in XML for content registration.

View Source
const DateTimeWithSpacesFormat = "2006-01-02 15:04:05"

DateTimeWithSpacesFormat is the date time format with spaces and no timezone information.

View Source
const Iso8601DateFormat = "2006-01-02"

Iso8601DateFormat is the ISO 8601 date format without time.

View Source
const Iso8601DateMonthFormat = "2006-01"

Iso8601DateMonthFormat is the ISO 8601 date format without time and day.

View Source
const Iso8601DateTimeFormat = "2006-01-02T15:04:05Z"

Iso8601DateTimeFormat is the ISO 8601 date format with time.

View Source
const Iso8601DateYearFormat = "2006"

Iso8601DateYearFormat is the ISO 8601 date format without time, month and day.

Variables

This section is empty.

Functions

func GetDateFromCrossrefParts added in v0.2.8

func GetDateFromCrossrefParts(strParts ...string) string

GetDateFromCrossrefParts returns a date string from Crossref XML date parts

func GetDateFromDateParts

func GetDateFromDateParts(dateAsParts []DateSlice) string

GetDateFromDateParts returns a date string from date parts uses interface{} to allow for float64 and string types

Example
package main

import (
	"fmt"

	"github.com/front-matter/commonmeta/dateutils"
)

func main() {
	s := dateutils.GetDateFromDateParts([]dateutils.DateSlice{{2024}})
	fmt.Println(s)
}
Output:
2024

func GetDateFromDatetime added in v0.5.1

func GetDateFromDatetime(iso8601Time string) string

GetDateFromDatetime returns a datetime string from a Unix timestamp

func GetDateFromParts

func GetDateFromParts(parts ...int) string

GetDateFromParts returns a date string from parts

func GetDateFromUnixTimestamp

func GetDateFromUnixTimestamp(timestamp int64) string

GetDateFromUnixTimestamp returns a date string from a Unix timestamp

Example
package main

import (
	"fmt"

	"github.com/front-matter/commonmeta/dateutils"
)

func main() {
	s := dateutils.GetDateFromUnixTimestamp(1611312000)
	fmt.Println(s)
}
Output:
2021-01-22

func GetDateTimeFromUnixTimestamp added in v0.2.14

func GetDateTimeFromUnixTimestamp(timestamp int64) string

GetDateTimeFromUnixTimestamp returns a datetime string from a Unix timestamp

func GetUnixTimestampFromDatetime added in v0.5.28

func GetUnixTimestampFromDatetime(iso8601Time string) int64

GetUnixTimestampFromDatetime returns a Unix timestamp from a datetime

Example
package main

import (
	"fmt"

	"github.com/front-matter/commonmeta/dateutils"
)

func main() {
	s := dateutils.GetUnixTimestampFromDatetime("2024-11-16T22:59:41Z")
	fmt.Println(s)
}
Output:
1731797981

func ParseDate added in v0.2.8

func ParseDate(iso8601Time string) string

ParseDate parses date strings in various formats and returns a date string in ISO 8601 format.

Example
package main

import (
	"fmt"

	"github.com/front-matter/commonmeta/dateutils"
)

func main() {
	s := dateutils.ParseDate("2021-01")
	fmt.Println(s)
}
Output:
2021-01

func ParseDateTime added in v0.6.10

func ParseDateTime(input string) string

ParseDateTime parses datetime strings in various formats and returns a datetime string in ISO 8601 format.

Example
package main

import (
	"fmt"

	"github.com/front-matter/commonmeta/dateutils"
)

func main() {
	s := dateutils.ParseDateTime("2015-12-22 17:35:18")
	fmt.Println(s)
}
Output:
2015-12-22T17:35:18Z

func ParseTime added in v0.6.10

func ParseTime(input string) (time.Time, error)

ParseTime parses datetime strings in various formats and returns a go time, which can then be formatted to an iso8601 string using ParseDateTime.

func StripMilliseconds added in v0.2.14

func StripMilliseconds(iso8601Time string) string

StripMilliseconds removes milliseconds from an ISO 8601 datetime string

Example
package main

import (
	"fmt"

	"github.com/front-matter/commonmeta/dateutils"
)

func main() {
	s := dateutils.StripMilliseconds("2024-11-16T22:59:41.517474+00:00")
	fmt.Println(s)
}
Output:
2024-11-16T22:59:41Z

Types

type DateSlice added in v0.6.6

type DateSlice []interface{}

func GetDateParts added in v0.2.4

func GetDateParts(iso8601Time string) []DateSlice

GetDateParts return date parts from an ISO 8601 date string

Example
package main

import (
	"fmt"

	"github.com/front-matter/commonmeta/dateutils"
)

func main() {
	s := dateutils.GetDateParts("2023-12-06")
	fmt.Println(s)
}
Output:
[[2023 12 6]]

type DateStruct added in v0.2.14

type DateStruct struct {
	Year  int
	Month int
	Day   int
}

func GetDateStruct added in v0.2.14

func GetDateStruct(iso8601Time string) DateStruct

GetDateStruct returns struct with date (year, month, day) from an ISO 8601 date string

type FormattedDateStruct added in v0.14.6

type FormattedDateStruct struct {
	Year  string
	Month string
	Day   string
}

func GetFormattedDateStruct added in v0.14.6

func GetFormattedDateStruct(iso8601Time string) FormattedDateStruct

GetFormattedDateStruct returns a formatted date struct from an ISO 8601 date string

Example
package main

import (
	"fmt"

	"github.com/front-matter/commonmeta/dateutils"
)

func main() {
	s := dateutils.GetFormattedDateStruct("2024-11")
	fmt.Println(s)
}
Output:
{2024 11 }

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL