Documentation
¶
Index ¶
- Constants
- Variables
- func Age(birthDay string) int
- func DefaultLocation() *time.Location
- func FormatDefaultFrom(v any) string
- func GetUnix() string
- func GetUnixInt64() int64
- func MsToTime(ms any, diff string) time.Time
- func NowDefaultString() string
- func NowUnixMilli() int64
- func ParseToStd(v any) *time.Time
- func ParseToTimeWithMillisOffset(v any, offsetMillis int64) time.Time
- func SetDefaultLocation(loc *time.Location)
- func TimeParse(layout, val string) (resData int64)
- func ToUnixMsec(ms time.Time) int64
- func UnixFormat(ms any) string
- type GetTimeReturnType
- type MTime
- func (t MTime) Add(d time.Duration) MTime
- func (t MTime) AddDays(days int) MTime
- func (t MTime) AddHours(h int) MTime
- func (t MTime) Diff(o MTime) time.Duration
- func (t MTime) EndOfDay() MTime
- func (t MTime) Format(token string) string
- func (t MTime) FormatDefault() string
- func (t MTime) IsSameDay(o MTime) bool
- func (t MTime) Local() MTime
- func (t MTime) StartOfDay() MTime
- func (t MTime) String() string
- func (t MTime) ToTime() time.Time
- func (t MTime) UTC() MTime
- func (t MTime) Unix() int64
- func (t MTime) UnixMilli() int64
- func (t MTime) UnixNano() int64
- type UnixTimeInt64Type
- type UnixTimeType
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 ¶
var ( LaySP_ss = "2006-01-02 15:04:05" LaySP_s = "2006-1-2 15:4:5" Lay_ss = "2006-01-02T15:04:05" Lay_s = "2006-1-2T15:4:5" Lay_DD = "2006-01-02" Lay_D = "2006-1-2" Lay_MM = "2006-01" Lay_M = "2006-1" Lay_Y = "2006" )
var UnixTime = UnixTimeType{
Seconds: "1000",
Minute: "60000",
Hour: "3600000",
Day: "86400000",
}
毫秒数
var UnixTimeInt64 = UnixTimeInt64Type{
Seconds: 1000,
Minute: 60000,
Hour: 3600000,
Day: 86400000,
}
Functions ¶
func DefaultLocation ¶
DefaultLocation 返回当前默认时区(用于数值时间戳解析),默认 UTC。
func FormatDefaultFrom ¶
FormatDefaultFrom 将任意支持的输入解析并格式化为默认时间字符串 "YYYY-MM-DDTHH:mm:ss"。 解析失败时返回 epoch 的默认格式化字符串以保持向后兼容。
func GetUnixInt64 ¶ added in v0.5.1
func GetUnixInt64() int64
func NowDefaultString ¶
func NowDefaultString() string
NowDefaultString 直接返回当前时间的默认格式字符串 "YYYY-MM-DDTHH:mm:ss" 例如: 2020-01-02T15:04:05
func ParseToStd ¶ added in v0.2.1
ParseToStd 解析任意支持的输入并直接返回标准库的 *time.Time 指针。 该函数是对 Parse 的便捷包装:解析成功时返回底层 time.Time 的指针,解析失败时返回 nil(不返回 error)。 注意:返回的 *time.Time 指针指向函数内部包装的 time 值的拷贝,调用方可安全使用。
func ParseToTimeWithMillisOffset ¶
ParseToTimeWithMillisOffset 解析任意支持的输入为 time.Time,并在结果上加上以毫秒为单位的偏移量。 参数: - v: 支持 Parse 接受的任意类型(string/数字/浮点等)。 - offsetMillis: 以毫秒为单位的偏移量,可以为负、正或 0。 返回值: - 解析并加上偏移后的 time.Time。 行为说明: - 解析失败时为保持向后兼容,返回 Parse(0) 的结果(即 epoch 对应的 time.Time)。
func SetDefaultLocation ¶
SetDefaultLocation 设置数字时间戳解析后的默认时区,传入 nil 恢复为 UTC。
func TimeParse ¶ added in v0.5.1
2020-12-03 转为 时间戳 m_time.TimeParse(m_time.LaySP_ss, "2023-05-06 18:56:43")
func UnixFormat ¶ added in v0.5.1
ms=string | int64 毫秒数 return = 2006-01-02T15:04:05
Types ¶
type GetTimeReturnType ¶ added in v0.5.1
func GetTime ¶ added in v0.5.1
func GetTime() (resData GetTimeReturnType)
type MTime ¶ added in v0.2.1
type MTime struct {
// contains filtered or unexported fields
}
MTime 是对 time.Time 的轻量封装,便于链式调用(原名 Time,已重命名以避免与标准库名冲突)。
func FromStdPtr ¶ added in v0.2.3
FromStdPtr 将标准库的 *time.Time 转换为本包的 MTime。 - 如果传入为 nil,返回零值 MTime(即封装的 time.Time 为零值)。 示例:
mt := mtime.FromStdPtr(&time.Now())
if mt.IsZero() { ... }
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 (MTime) Format ¶ added in v0.2.1
Format 使用自定义 token 或默认 token 将 Time 格式化为字符串: - 传入空字符串或 DefaultToken 使用默认格式 - 传入类似 "YYYY-MM-DD HH:mm:ss" 的 token,将被映射为 Go 的 layout 进行格式化
func (MTime) FormatDefault ¶ added in v0.2.1
FormatDefault 返回默认的无参数格式化,格式为 "YYYY-MM-DDTHH:mm:ss" 例如: 2020-01-02T15:04:05
func (MTime) StartOfDay ¶ added in v0.2.1
StartOfDay 返回当前时间对应日期的 00:00:00(同一时区)。