// Package timex 基于 gtime 提供时间格式化与计算工具。 package timex import ( "github.com/gogf/gf/v2/os/gtime" ) const ( // LayoutDateTime 是常用日期时间格式:2006-01-02 15:04:05。 LayoutDateTime = "2006-01-02 15:04:05" // LayoutDate 是常用日期格式:2006-01-02。 LayoutDate = "2006-01-02" ) // Now 返回当前时间。 func Now() *gtime.Time { return gtime.Now() } // Format 按给定 Go 布局格式化 t, // layout 为空时使用 LayoutDateTime。 // // 注意:gtime v2.10.2 的 Format() 接收 PHP 风格格式("Y-m-d H:i:s"), // 因此本工具改用接受 Go 布局的 Layout() 方法。 func Format(t *gtime.Time, layout ...string) string { ly := LayoutDateTime if len(layout) > 0 && layout[0] != "" { ly = layout[0] } return t.Layout(ly) } // Timestamp 返回当前 Unix 秒级时间戳。 func Timestamp() int64 { return gtime.Now().Timestamp() } // StartOfDay 返回 t 所在日期的零点(00:00:00)。 func StartOfDay(t *gtime.Time) *gtime.Time { return gtime.NewFromStr(t.Layout(LayoutDate) + " 00:00:00") } // EndOfDay 返回 t 所在日期的末尾(23:59:59)。 func EndOfDay(t *gtime.Time) *gtime.Time { return gtime.NewFromStr(t.Layout(LayoutDate) + " 23:59:59") }