Documentation
¶
Overview ¶
Package dateutils provides functions to work with dates.
Index ¶
- Constants
- func GetDateFromCrossrefParts(strParts ...string) string
- func GetDateFromDateParts(dateAsParts []DateSlice) string
- func GetDateFromDatetime(iso8601Time string) string
- func GetDateFromParts(parts ...int) string
- func GetDateFromUnixTimestamp(timestamp int64) string
- func GetDateTimeFromUnixTimestamp(timestamp int64) string
- func GetUnixTimestampFromDatetime(iso8601Time string) int64
- func ParseDate(iso8601Time string) string
- func ParseDateTime(input string) string
- func ParseTime(input string) (time.Time, error)
- func StripMilliseconds(iso8601Time string) string
- type DateSlice
- type DateStruct
- type FormattedDateStruct
Examples ¶
Constants ¶
const CrossrefDateTimeFormat = "20060102150405"
CrossrefDateTimeFormat is the Crossref date format with time, used in XML for content registration.
const DateTimeWithSpacesFormat = "2006-01-02 15:04:05"
DateTimeWithSpacesFormat is the date time format with spaces and no timezone information.
const Iso8601DateFormat = "2006-01-02"
Iso8601DateFormat is the ISO 8601 date format without time.
const Iso8601DateMonthFormat = "2006-01"
Iso8601DateMonthFormat is the ISO 8601 date format without time and day.
const Iso8601DateTimeFormat = "2006-01-02T15:04:05Z"
Iso8601DateTimeFormat is the ISO 8601 date format with time.
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
GetDateFromCrossrefParts returns a date string from Crossref XML date parts
func GetDateFromDateParts ¶
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
GetDateFromDatetime returns a datetime string from a Unix timestamp
func GetDateFromParts ¶
GetDateFromParts returns a date string from parts
func GetDateFromUnixTimestamp ¶
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
GetDateTimeFromUnixTimestamp returns a datetime string from a Unix timestamp
func GetUnixTimestampFromDatetime ¶ added in v0.5.28
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
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
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
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
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
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
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
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 }