Documentation
¶
Index ¶
- Constants
- func DefaultLocation() *time.Location
- func FormatDefaultFrom(v any) string
- func NowDefaultString() string
- func NowUnixMilli() int64
- func ParseToTimeWithMillisOffset(v any, offsetMillis int64) time.Time
- func SetDefaultLocation(loc *time.Location)
- type Time
- func (t Time) Add(d time.Duration) Time
- func (t Time) AddDays(days int) Time
- func (t Time) AddHours(h int) Time
- func (t Time) Diff(o Time) time.Duration
- func (t Time) EndOfDay() Time
- func (t Time) Format(token string) string
- func (t Time) FormatDefault() string
- func (t Time) IsSameDay(o Time) bool
- func (t Time) Local() Time
- func (t Time) StartOfDay() Time
- func (t Time) String() string
- func (t Time) ToTime() time.Time
- func (t Time) UTC() Time
- func (t Time) Unix() int64
- func (t Time) UnixMilli() int64
- func (t Time) UnixNano() int64
Constants ¶
const ( MillisPerSecond int64 = 1000 MillisPerMinute int64 = 60 * MillisPerSecond MillisPerHour int64 = 60 * MillisPerMinute MillisPerDay int64 = 24 * MillisPerHour )
MillisPer... 常量表示毫秒级别的时间长度,命名更语义化且便于直接使用。
const DefaultToken = "YYYY-MM-DD HH:mm:ss.SSSSSS ±HH:MM"
默认的 token 风格格式
Variables ¶
This section is empty.
Functions ¶
func DefaultLocation ¶
DefaultLocation 返回当前默认时区(用于数值时间戳解析),默认 UTC。
func FormatDefaultFrom ¶
FormatDefaultFrom 将任意支持的输入解析并格式化为默认时间字符串 "YYYY-MM-DDTHH:mm:ss"。 解析失败时返回 epoch 的默认格式化字符串以保持向后兼容。
func NowDefaultString ¶
func NowDefaultString() string
NowDefaultString 直接返回当前时间的默认格式字符串 "YYYY-MM-DDTHH:mm:ss" 例如: 2020-01-02T15:04:05
func ParseToTimeWithMillisOffset ¶
ParseToTimeWithMillisOffset 解析任意支持的输入为 time.Time,并在结果上加上以毫秒为单位的偏移量。 参数: - v: 支持 Parse 接受的任意类型(string/数字/浮点等)。 - offsetMillis: 以毫秒为单位的偏移量,可以为负、正或 0。 返回值: - 解析并加上偏移后的 time.Time。 行为说明: - 解析失败时为保持向后兼容,返回 Parse(0) 的结果(即 epoch 对应的 time.Time)。
func SetDefaultLocation ¶
SetDefaultLocation 设置数字时间戳解析后的默认时区,传入 nil 恢复为 UTC。
Types ¶
type Time ¶
type Time struct {
// contains filtered or unexported fields
}
Time 是对 time.Time 的轻量封装,便于链式调用
func MustParse ¶
MustParse 是 Parse 的便捷包装:解析失败时返回零值 Time(不再 panic)。 建议在需要明确错误处理的场景使用 Parse,并避免依赖 MustParse 隐式吞错。
func Parse ¶
Parse 尝试从任意支持的类型解析为 Time: 支持 string、整型、无符号整型、浮点型等。对于不能直接识别的类型,会使用 fmt.Sprintf 作为后备并尝试按数字或字符串解析。 返回解析结果或错误。
func ParseFloat64 ¶
ParseFloat64 按带小数的秒数解析为 Time(小数部分表示秒的小数部分)。 示例:ParseFloat64(1609459200.123) 表示秒 + 小数秒
func ParseInt64 ¶
ParseInt64 按整数时间戳解析并返回 Time。函数会根据数字位数自动判断单位(秒/毫秒/微秒/纳秒)。 示例:ParseInt64(1609459200000) // 13 位毫秒
func ParseString ¶
Parse 接受多种输入并尝试解析为时间: 支持: - string(任意可被 dateparse 识别的格式) - 数字字符串(表示秒/毫秒/微秒/纳秒 时间戳) - 整数类型/无符号整数/浮点数(表示秒或带小数的秒) 示例:
Parse("2020-01-02 15:04:05")
Parse(1609459200000) // 13 位毫秒时间戳
Parse("1609459200000") // 数字字符串(毫秒)
Parse(1609459200.123) // 带小数的秒
ParseString 解析字符串为 Time: - 如果字符串为纯数字(可带小数点、可有正负号),优先按时间戳解析(自动识别秒/毫秒/微秒/纳秒/带小数秒) - 否则使用第三方解析器尝试解析任意常见时间格式 返回解析后的 Time 或解析错误。
func (Time) Format ¶
Format 使用自定义 token 或默认 token 将 Time 格式化为字符串: - 传入空字符串或 DefaultToken 使用默认格式 - 传入类似 "YYYY-MM-DD HH:mm:ss" 的 token,将被映射为 Go 的 layout 进行格式化
func (Time) FormatDefault ¶
FormatDefault 返回默认的无参数格式化,格式为 "YYYY-MM-DDTHH:mm:ss" 例如: 2020-01-02T15:04:05