github.com/go-board/x-go@v0.1.2-0.20220610024734-db1323f6cb15/xtime/README.md (about) 1 # XTime 2 3 time 工具集 4 5 ## parse 支持多种类型的parse 6 7 go 默认的 `time.Parse` 需要指定对应的layout,导致使用起来不够便利,因此催生了 `xtime.ParseAny` 8 9 ``` go 10 package main 11 12 import ( 13 "time" 14 15 "github.com/go-board/x-go/xtime" 16 ) 17 18 func main() { 19 // 标准库 20 t, err := time.Parse(time.RFC3339, "2006-01-02T15:04:05Z07:00") 21 println(t, err) 22 // vs xtime 23 t, err = xtime.ParseAny("2018/11/12") 24 println(t, err) 25 } 26 ``` 27 28 ## duration 时间度量 29 30 ``` go 31 package main 32 33 import ( 34 "github.com/go-board/x-go/xtime" 35 ) 36 37 func main() { 38 seconds := xtime.MeasureDuration(func () { 39 // do lots of work 40 }) 41 println(seconds) 42 } 43 ``` 44 45 ## relative time 相对时间计算 46 47 ``` go 48 package main 49 50 import ( 51 "time" 52 53 "github.com/go-board/x-go/xtime" 54 ) 55 56 func main() { 57 xtime.StartOfDay(time.Now()) // 给定时间对应日期的开始时间 58 xtime.EndOfDay(time.Now()) // 给定时间对应日期的结束时间 59 xtime.StartOfToday() // 今天的开始时间 60 xtime.EndOfToday() // 今天的结束时间 61 xtime.UTC() // 当前UTC时间 62 xtime.Local() // 当前的本地时间 63 xtime.Yesterday() // 昨天 64 xtime.Tomorrow() // 明天 65 xtime.NowMillis() // 当前时间的毫秒单位 66 } 67 ```