jsonx

package
v12.2.5 Latest Latest
Warning

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

Go to latest
Published: Aug 21, 2023 License: BSD-3-Clause Imports: 9 Imported by: 2

Documentation

Index

Constants

View Source
const (
	// ISO8601Layout holds the time layout for the the javascript iso time.
	// Read more at: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString.
	ISO8601Layout = "2006-01-02T15:04:05"
	// ISO8601ZLayout same as ISO8601Layout but with the timezone suffix.
	ISO8601ZLayout = "2006-01-02T15:04:05Z"
	// ISO8601ZUTCOffsetLayout ISO 8601 format, with full time and zone with UTC offset.
	// Example: 2022-08-10T03:21:00.000000+03:00, 2023-02-04T09:48:14+00:00, 2022-08-09T00:00:00.000000.
	ISO8601ZUTCOffsetLayout = "2006-01-02T15:04:05.999999Z07:00" // -07:00
)
View Source
const (
	// DayTimeLayout holds the time layout for the the format of "hour:minute:second", hour can be 15, meaning 3 PM.
	DayTimeLayout = "15:04:05"
)
View Source
const KitchenTimeLayout = "3:04 PM"

KitchenTimeLayout represents the "3:04 PM" Go time format, similar to time.Kitchen.

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

SimpleDateLayout represents the "year-month-day" Go time format.

Variables

View Source
var ErrParseKitchenTimeColon = fmt.Errorf("parse kitchen time: missing ':' character")

Functions

func RegisterFixedLocation

func RegisterFixedLocation(name string, secondsFromUTC int)

RegisterFixedLocation should be called on initialization of the program. It registers a fixed location to the time parser.

E.g. for input of 2023-02-04T09:48:14+03:00 to result a time string of 2023-02-04 09:48:14 +0300 EEST you have to RegisterFixedLocation("EEST", 10800) otherwise it will result to: 2023-02-04 09:48:14 +0300 +0300.

Types

type DayTime

type DayTime time.Time

DayTime describes a time compatible with DayTimeLayout.

func ParseDayTime

func ParseDayTime(s string) (DayTime, error)

ParseDayTime reads from "s" and returns the DayTime time.

func (DayTime) IsZero

func (t DayTime) IsZero() bool

IsZero reports whether "t" is zero time.

func (DayTime) MarshalJSON

func (t DayTime) MarshalJSON() ([]byte, error)

MarshalJSON writes a quoted string in the DayTime time format.

func (*DayTime) Scan

func (t *DayTime) Scan(src interface{}) error

Scan completes the sql driver.Scanner interface.

func (DayTime) String

func (t DayTime) String() string

String returns the text representation of the "t" using the DayTime time layout.

func (*DayTime) ToTime

func (t *DayTime) ToTime() time.Time

ToTime returns the unwrapped *t to time.Time.

func (*DayTime) UnmarshalJSON

func (t *DayTime) UnmarshalJSON(b []byte) error

UnmarshalJSON parses the "b" into DayTime time.

type Duration

type Duration time.Duration

Duration is a JSON representation of the standard Duration type, until Go version 2 supports it under the hoods.

func (Duration) MarshalJSON

func (d Duration) MarshalJSON() ([]byte, error)

func (*Duration) Set

func (d *Duration) Set(v float64)

Set sets the value of duration in nanoseconds.

func (Duration) ToDuration

func (d Duration) ToDuration() time.Duration

func (*Duration) UnmarshalJSON

func (d *Duration) UnmarshalJSON(b []byte) error

func (Duration) Value

func (d Duration) Value() (driver.Value, error)

type ISO8601

type ISO8601 time.Time

ISO8601 describes a time compatible with javascript time format.

func ParseISO8601

func ParseISO8601(s string) (ISO8601, error)

ParseISO8601 reads from "s" and returns the ISO8601 time.

func (ISO8601) IsZero

func (t ISO8601) IsZero() bool

IsZero reports whether "t" is zero time. It completes the pg.Zeroer interface.

func (ISO8601) MarshalJSON

func (t ISO8601) MarshalJSON() ([]byte, error)

MarshalJSON writes a quoted string in the ISO8601 time format.

func (*ISO8601) Scan

func (t *ISO8601) Scan(src interface{}) error

Scan completes the sql driver.Scanner interface.

func (ISO8601) String

func (t ISO8601) String() string

String returns the text representation of the "t" using the ISO8601 time layout.

func (ISO8601) ToSimpleDate

func (t ISO8601) ToSimpleDate(in *time.Location) SimpleDate

ToSimpleDate converts the current ISO8601 "t" to SimpleDate in specific location.

func (*ISO8601) ToTime

func (t *ISO8601) ToTime() time.Time

ToTime returns the unwrapped *t to time.Time.

func (*ISO8601) UnmarshalJSON

func (t *ISO8601) UnmarshalJSON(b []byte) error

UnmarshalJSON parses the "b" into ISO8601 time.

func (ISO8601) Value

func (t ISO8601) Value() (driver.Value, error)

Value returns the database value of time.Time.

type KitchenTime

type KitchenTime time.Time

KitchenTime holds a json "3:04 PM" time.

func ParseKitchenTime

func ParseKitchenTime(s string) (KitchenTime, error)

ParseKitchenTime reads from "s" and returns the KitchenTime time.

func (KitchenTime) IsZero

func (t KitchenTime) IsZero() bool

IsZero reports whether "t" is zero time. It completes the pg.Zeroer interface.

func (KitchenTime) MarshalJSON

func (t KitchenTime) MarshalJSON() ([]byte, error)

MarshalJSON returns the json representation of the "t".

func (*KitchenTime) Scan

func (t *KitchenTime) Scan(src interface{}) error

Scan completes the pg and native sql driver.Scanner interface reading functionality of a custom type.

func (KitchenTime) String

func (t KitchenTime) String() string

String returns the text representation of the date formatted based on the `KitchenTimeLayout`. If date is zero it returns an empty string.

func (*KitchenTime) UnmarshalJSON

func (t *KitchenTime) UnmarshalJSON(data []byte) error

UnmarshalJSON binds the json "data" to "t" with the `KitchenTimeLayout`.

func (KitchenTime) Value

func (t KitchenTime) Value() time.Time

Value returns the standard time type.

type SimpleDate

type SimpleDate time.Time

SimpleDate holds a json "year-month-day" time.

func ParseSimpleDate

func ParseSimpleDate(s string) (SimpleDate, error)

ParseSimpleDate reads from "s" and returns the SimpleDate time.

func SimpleDateFromTime

func SimpleDateFromTime(t time.Time) SimpleDate

SimpleDateFromTime accepts a "t" Time and returns a SimpleDate. If format fails, it returns the zero value of time.Time.

func (SimpleDate) After

func (t SimpleDate) After(d2 SimpleDate) bool

After reports whether the time instant t is after u.

func (SimpleDate) Before

func (t SimpleDate) Before(d2 SimpleDate) bool

Before reports whether the time instant t is before u.

func (SimpleDate) IsZero

func (t SimpleDate) IsZero() bool

IsZero reports whether "t" is zero time. It completes the pg.Zeroer interface.

func (SimpleDate) MarshalJSON

func (t SimpleDate) MarshalJSON() ([]byte, error)

MarshalJSON returns the json representation of the "t".

func (*SimpleDate) Scan

func (t *SimpleDate) Scan(src interface{}) error

Scan completes the pg and native sql driver.Scanner interface reading functionality of a custom type.

func (SimpleDate) String

func (t SimpleDate) String() string

String returns the text representation of the date formatted based on the `SimpleDateLayout`. If date is zero it returns an empty string.

func (SimpleDate) ToTime

func (t SimpleDate) ToTime() time.Time

ToTime returns the standard time type.

func (*SimpleDate) UnmarshalJSON

func (t *SimpleDate) UnmarshalJSON(data []byte) error

UnmarshalJSON binds the json "data" to "t" with the `SimpleDateLayout`.

func (SimpleDate) Value

func (t SimpleDate) Value() (driver.Value, error)

type TimeNotationDuration

type TimeNotationDuration time.Duration

TimeNotationDuration is a JSON representation of the standard Duration type in 00:00:00 (hour, minute seconds).

func ParseTimeNotationDuration

func ParseTimeNotationDuration(s string) (TimeNotationDuration, error)

ParseTimeNotationDuration parses a string to a time notation duration (00:00:00) hours:minutes:seconds.

func (TimeNotationDuration) MarshalJSON

func (d TimeNotationDuration) MarshalJSON() ([]byte, error)

func (*TimeNotationDuration) Set

func (d *TimeNotationDuration) Set(v float64)

Set sets the value of duration in nanoseconds.

func (TimeNotationDuration) ToDuration

func (d TimeNotationDuration) ToDuration() time.Duration

func (*TimeNotationDuration) UnmarshalJSON

func (d *TimeNotationDuration) UnmarshalJSON(b []byte) error

func (TimeNotationDuration) Value

func (d TimeNotationDuration) Value() (driver.Value, error)

Jump to

Keyboard shortcuts

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