Help us shape the future of Go! Take the 2026 Go Developer Survey

sqltime

package
v0.3.6 Latest Latest
Warning

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

Go to latest
Published: Jul 30, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	UTC = time.UTC
	// CST Chinese Standard Timezone
	CST = must.NoErrorV(time.LoadLocation("Asia/Shanghai"))
	// JST Japan Standard Timezone
	JST = must.NoErrorV(time.LoadLocation("Asia/Tokyo"))
	// KST Korea Standard Timezone
	KST = must.NoErrorV(time.LoadLocation("Asia/Seoul"))
	// IST Indochina Standard Timezone (Thailand)
	IST = must.NoErrorV(time.LoadLocation("Asia/Bangkok"))

	TimestampZero          = Timestamp{time.Time{}}
	TimestampUnixZero      = Timestamp{time.Unix(0, 0)}
	TimestampMilliZero     = TimestampMilli{time.Time{}}
	TimestampMilliUnixZero = TimestampMilli{time.Unix(0, 0)}

	RFC3339       = time.RFC3339
	RFC3339Milli  = "2006-01-02T15:04:05.999Z07:00"
	DateTime      = time.DateTime
	DateTimeMilli = "2006-01-02 15:04:05.000"

	DefaultOutputLayout = RFC3339Milli
)
View Source
var (
	// DatetimeZero is the zero datetime value.
	DatetimeZero = Datetime{Timestamp: TimestampZero}
	// DatetimeUnixZero is the unix-epoch datetime value.
	DatetimeUnixZero = Datetime{Timestamp: TimestampUnixZero}
	// DatetimeEpoch is the second-precision epoch literal.
	DatetimeEpoch = "1970-01-01 00:00:00"
	// DatetimeEpochPrecision is the millisecond-precision epoch literal.
	DatetimeEpochPrecision = "1970-01-01 00:00:00.000"
)

Functions

func AddTimeInputLayouts

func AddTimeInputLayouts(layouts ...string)

AddTimeInputLayouts registers additional parse layouts.

func GetTimeInputLayouts

func GetTimeInputLayouts() []string

GetTimeInputLayouts returns registered parse layouts.

func GetTimeOutputLayout

func GetTimeOutputLayout() string

GetTimeOutputLayout returns the global time output layout.

func GetTimezone

func GetTimezone() *time.Location

GetTimezone returns the global timezone.

func SetTimeOutputLayout

func SetTimeOutputLayout(layout string)

SetTimeOutputLayout sets the global time output layout.

func SetTimezone

func SetTimezone(timezone *time.Location)

SetTimezone sets the global timezone used for parse/format.

Types

type Datetime

type Datetime struct {
	Timestamp
}

Datetime is a datetime column value backed by Timestamp.

func AsDatetime

func AsDatetime(t time.Time) Datetime

AsDatetime converts t to Datetime in the configured timezone.

func (Datetime) DBType

func (Datetime) DBType(driver string) string

func (*Datetime) Scan

func (t *Datetime) Scan(src any) error

func (Datetime) Value

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

type Timestamp

type Timestamp struct {
	time.Time `json:",inline"`
}

Timestamp as seconds precision

func AsTimestamp

func AsTimestamp(t time.Time) Timestamp

AsTimestamp converts t to Timestamp in the configured timezone.

func ParseTimestamp

func ParseTimestamp(input string) (d Timestamp, err error)

ParseTimestamp parses input using configured input layouts.

func ParseTimestampWithLayout

func ParseTimestampWithLayout(input, layout string) (Timestamp, error)

ParseTimestampWithLayout parses input with an explicit layout.

func (Timestamp) DBType

func (Timestamp) DBType(_ string) string

func (Timestamp) Format

func (t Timestamp) Format(layout string) string

func (Timestamp) Int

func (t Timestamp) Int() int64

func (Timestamp) IsZero

func (t Timestamp) IsZero() bool

func (Timestamp) MarshalJSON

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

func (Timestamp) MarshalText

func (t Timestamp) MarshalText() ([]byte, error)

func (*Timestamp) Scan

func (t *Timestamp) Scan(src any) error

func (Timestamp) String

func (t Timestamp) String() string

func (*Timestamp) UnmarshalJSON

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

func (*Timestamp) UnmarshalText

func (t *Timestamp) UnmarshalText(data []byte) error

func (Timestamp) Unwrap

func (t Timestamp) Unwrap() time.Time

func (Timestamp) Value

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

type TimestampMilli

type TimestampMilli struct {
	time.Time `json:",inline"`
}

TimestampMilli is a millisecond-precision unix timestamp.

func AsTimestampMilli

func AsTimestampMilli(t time.Time) TimestampMilli

AsTimestampMilli converts t to TimestampMilli in the configured timezone.

func ParseTimestampMilli

func ParseTimestampMilli(input string) (d TimestampMilli, err error)

ParseTimestampMilli parses input using configured input layouts.

func ParseTimestampMilliWithLayout

func ParseTimestampMilliWithLayout(input, layout string) (TimestampMilli, error)

ParseTimestampMilliWithLayout parses input with an explicit layout.

func (TimestampMilli) DBType

func (TimestampMilli) DBType(_ string) string

func (TimestampMilli) Format

func (t TimestampMilli) Format(layout string) string

func (TimestampMilli) Int

func (t TimestampMilli) Int() int64

func (TimestampMilli) IsZero

func (t TimestampMilli) IsZero() bool

func (TimestampMilli) MarshalJSON

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

func (TimestampMilli) MarshalText

func (t TimestampMilli) MarshalText() ([]byte, error)

func (*TimestampMilli) Scan

func (t *TimestampMilli) Scan(src any) error

func (TimestampMilli) String

func (t TimestampMilli) String() string

func (*TimestampMilli) UnmarshalJSON

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

func (*TimestampMilli) UnmarshalText

func (t *TimestampMilli) UnmarshalText(data []byte) error

func (TimestampMilli) Unwrap

func (t TimestampMilli) Unwrap() time.Time

func (TimestampMilli) Value

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

Jump to

Keyboard shortcuts

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