Documentation
¶
Index ¶
- Variables
- type DateDescriptor
- type DateFormatter
- type DateHandler
- type DateHandlerPrefix
- func (formatter DateHandlerPrefix) Format(dt time.Time, locale locales.Translator, str *string) string
- func (formatter *DateHandlerPrefix) Parse(input, format string) (time.Time, error)
- func (formatter DateHandlerPrefix) TokenDesc() string
- func (formatter DateHandlerPrefix) TokenDescTokenFormatter(tokenFmt func(format string, a ...any) string) string
- func (formatter *DateHandlerPrefix) TokenMap() TokenMap
- func (formatter DateHandlerPrefix) TokenMapExpanded() map[string]FormatToken[string]
- type DateHandlerString
- func (formatter *DateHandlerString) Format(dt time.Time, locale locales.Translator, str *string) string
- func (formatter *DateHandlerString) Parse(input, format string) (time.Time, error)
- func (formatter *DateHandlerString) TokenDesc() string
- func (formatter *DateHandlerString) TokenDescTokenFormatter(tokenFmt func(format string, a ...any) string) string
- func (formatter *DateHandlerString) TokenMap() TokenMap
- type DateHandlerTokenWrapper
- func (formatter *DateHandlerTokenWrapper) Format(dt time.Time, locale locales.Translator, str *string) string
- func (formatter *DateHandlerTokenWrapper) Parse(input, format string) (time.Time, error)
- func (formatter *DateHandlerTokenWrapper) TokenDesc() string
- func (formatter *DateHandlerTokenWrapper) TokenDescTokenFormatter(tokenFmt func(format string, a ...any) string) string
- func (formatter *DateHandlerTokenWrapper) TokenMap() TokenMap
- type DateParser
- type FormatToken
- type TokenGraphNode
- type TokenMap
Constants ¶
This section is empty.
Variables ¶
var CStr = DateHandlerTokenWrapper{ // contains filtered or unexported fields }
Formatter built around C FFI to strftime and strptime
As this uses C FFI with `cgo`; not all OS's are supported or tested
var Go = DateHandlerTokenWrapper{ // contains filtered or unexported fields }
Handler for parsing and formatting date time with Go's standard library `time` package
Functions ¶
This section is empty.
Types ¶
type DateDescriptor ¶ added in v0.3.0
type DateDescriptor interface {
// Outputs all supported tokens with their descriptions and any aliases
TokenDesc() string
// Outputs all supported tokens with their descriptions and any aliases with
// support for providing a token formatter to customise how tokens are displayed
TokenDescTokenFormatter(tokenFmt func(format string, a ...any) string) string
// Mapping between any token and it's corresponding meta data
TokenMap() TokenMap
}
Describes and contains a mapping of tokens
type DateFormatter ¶
type DateFormatter interface {
// Formats a given time and locale according to the provided string
Format(dt time.Time, locale locales.Translator, str *string) string
}
Allows formatting date times into other data types
type DateHandler ¶ added in v0.3.0
type DateHandler interface {
*DateDescriptor
*DateFormatter
*DateParser
}
type DateHandlerPrefix ¶ added in v0.3.0
type DateHandlerPrefix struct {
Prefix rune
// contains filtered or unexported fields
}
Date handler for tokens that always start with a predefined prefix rune
e.g. C based `strptime` function tokens: '%c', '%Oy' etc.
var GoStrptime DateHandlerPrefix
Go port of the C time functions `strptime` and `strftime`
Most formatting tokens are supported for English locales and are near one to one with the C equivalents with some small differences when it comes to spacing between characters
Parsing is very much a work in progress only supporting a very limited set.
Due to these incompatibilities it's recommend to use the CStr parser if possible for the time being
func (DateHandlerPrefix) Format ¶ added in v0.3.0
func (formatter DateHandlerPrefix) Format(dt time.Time, locale locales.Translator, str *string) string
func (*DateHandlerPrefix) Parse ¶ added in v0.3.0
func (formatter *DateHandlerPrefix) Parse(input, format string) (time.Time, error)
func (DateHandlerPrefix) TokenDesc ¶ added in v0.3.0
func (formatter DateHandlerPrefix) TokenDesc() string
func (DateHandlerPrefix) TokenDescTokenFormatter ¶ added in v0.3.0
func (formatter DateHandlerPrefix) TokenDescTokenFormatter(tokenFmt func(format string, a ...any) string) string
func (*DateHandlerPrefix) TokenMap ¶ added in v0.3.0
func (formatter *DateHandlerPrefix) TokenMap() TokenMap
func (DateHandlerPrefix) TokenMapExpanded ¶ added in v0.3.0
func (formatter DateHandlerPrefix) TokenMapExpanded() map[string]FormatToken[string]
Expands the inner token map to include aliases
type DateHandlerString ¶ added in v0.3.0
type DateHandlerString struct {
// contains filtered or unexported fields
}
Date handler for string based tokens of varying lengths with support for escaping characters
var Luxon DateHandlerString
Handler for pasing and formatting using the `luxon` tokens and rules
var MomentJs DateHandlerString
Handler for parsing and formatting using the `momentjs` tokens and rules
func (*DateHandlerString) Format ¶ added in v0.3.0
func (formatter *DateHandlerString) Format(dt time.Time, locale locales.Translator, str *string) string
func (*DateHandlerString) Parse ¶ added in v0.3.0
func (formatter *DateHandlerString) Parse(input, format string) (time.Time, error)
func (*DateHandlerString) TokenDesc ¶ added in v0.3.0
func (formatter *DateHandlerString) TokenDesc() string
func (*DateHandlerString) TokenDescTokenFormatter ¶ added in v0.3.0
func (formatter *DateHandlerString) TokenDescTokenFormatter(tokenFmt func(format string, a ...any) string) string
func (*DateHandlerString) TokenMap ¶ added in v0.3.0
func (formatter *DateHandlerString) TokenMap() TokenMap
type DateHandlerTokenWrapper ¶ added in v0.3.0
type DateHandlerTokenWrapper struct {
// contains filtered or unexported fields
}
Simplest date handler type wrapping functionality defined elsewhere that works with tokens
func (*DateHandlerTokenWrapper) Format ¶ added in v0.3.0
func (formatter *DateHandlerTokenWrapper) Format(dt time.Time, locale locales.Translator, str *string) string
func (*DateHandlerTokenWrapper) Parse ¶ added in v0.3.0
func (formatter *DateHandlerTokenWrapper) Parse(input, format string) (time.Time, error)
func (*DateHandlerTokenWrapper) TokenDesc ¶ added in v0.3.0
func (formatter *DateHandlerTokenWrapper) TokenDesc() string
func (*DateHandlerTokenWrapper) TokenDescTokenFormatter ¶ added in v0.3.0
func (formatter *DateHandlerTokenWrapper) TokenDescTokenFormatter(tokenFmt func(format string, a ...any) string) string
func (*DateHandlerTokenWrapper) TokenMap ¶ added in v0.3.0
func (formatter *DateHandlerTokenWrapper) TokenMap() TokenMap
type DateParser ¶ added in v0.3.0
type DateParser interface {
// Parses a time string according to the provided format
Parse(input, format string) (time.Time, error)
}
Allows parsing data types into date times
type FormatToken ¶
type TokenGraphNode ¶
type TokenGraphNode[T any] struct { // contains filtered or unexported fields }
type TokenMap ¶
type TokenMap = map[string]FormatToken[string]