Documentation
¶
Overview ¶
Package dateutils provides functions to work with dates.
Index ¶
- Constants
- func GetDateFromCrossrefParts(strParts ...string) string
- func GetDateFromDateParts(dateAsParts [][]int) string
- func GetDateFromDatetime(iso8601Time string) string
- func GetDateFromParts(parts ...int) string
- func GetDateFromUnixTimestamp(timestamp int64) string
- func GetDateParts(iso8601Time string) map[string][][]int
- func GetDateTimeFromUnixTimestamp(timestamp int64) string
- func ParseDate(edtf_str string) (string, error)
- func StripMilliseconds(iso8601Time string) string
- func ValidateEdtf(iso8601Time string) string
- type DateStruct
Examples ¶
Constants ¶
const CrossrefDateTimeFormat = "20060102150405"
CrossrefDateTimeFormat is the Crossref date format with time, used in XML for content registration.
const Iso8601DateFormat = "2006-01-02"
Iso8601DateFormat is the ISO 8601 date format without time.
const Iso8601DateTimeFormat = "2006-01-02T15:04:05Z"
Iso8601DateTimeFormat is the ISO 8601 date format with time.
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
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 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() {
m := dateutils.GetDateParts("2023-12-06")
fmt.Println(m)
}
Output: map[date-parts:[[2023 12 6]]]
func GetDateTimeFromUnixTimestamp ¶ added in v0.2.14
GetDateTimeFromUnixTimestamp returns a datetime string from a Unix timestamp
func ParseDate ¶ added in v0.2.8
ParseDate parses date strings in various formats and returns a date string in ISO 8601 format. Extracted from the go-edtf library to parse EDTF date strings.
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 StripMilliseconds ¶ added in v0.2.14
Example ¶
package main
import (
"fmt"
"github.com/front-matter/commonmeta/dateutils"
)
func main() {
s := dateutils.StripMilliseconds("2021-01-22T10:00:00.000Z")
fmt.Println(s)
}
Output: 2021-01-22T10:00:00Z
func ValidateEdtf ¶ added in v0.5.5
ValidateEdtf validates an EDTF date string. Workaround for a bug in InvenioRDM (edtf 4.0.1)
Example ¶
package main
import (
"fmt"
"github.com/front-matter/commonmeta/dateutils"
)
func main() {
b := dateutils.ValidateEdtf("2024-07-22T22:11:00Z")
fmt.Println(b)
}
Output: 2024-07-22T22:11:00Z
Types ¶
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