time应该是开发中比拟罕用的库了,常见办法阐明:

package mainimport (    "time"    "fmt")func main() {    a := time.Now().Unix()    fmt.Println("工夫戳---", a)    // 2006-01-02 15:04:05 记住这一刻    b := time.Now().Format("2006-01-02 15:04:05")    fmt.Println("格式化工夫", b)    /**    func (t Time) Add(d Duration) Time    Duration如下    const (        Nanosecond  Duration = 1        Microsecond          = 1000 * Nanosecond        Millisecond          = 1000 * Microsecond        Second               = 1000 * Millisecond        Minute               = 60 * Second        Hour                 = 60 * Minute    )     */    c := time.Now().Add(time.Minute * 3)    fmt.Println("3分钟后工夫", c.Format("2006-01-02 15:04:05"))    /**        func (t Time) AddDate(years int, months int, days int) Time    */    d := time.Now().AddDate(-1, 1,10)    fmt.Println("工夫", d.Format("2006-01-02 15:04:05"))    // 返回年月日三个值    fmt.Println(time.Now().Date())    // 返回时分秒三个值    fmt.Println(time.Now().Clock())    fmt.Println(time.Now().Year(), time.Now().Month(), time.Now().Day())    fmt.Println(time.Now().Weekday(), time.Now().Hour())    fmt.Println(time.Now().YearDay())    fmt.Println(time.Since(d))    // tring返回采纳如下格局字符串的格式化工夫。    // "2006-01-02 15:04:05.999999999 -0700 MST"    fmt.Println(time.Now().String())    time.AfterFunc(2*time.Second, func() {        fmt.Println("hello 2s")    })    loc, _ := time.LoadLocation("Asia/Shanghai")    const longForm = "Jan 2, 2006 at 3:04pm (MST)"    const shortForm = "2006-Jan-02"    t, _ := time.ParseInLocation(longForm, "Jul 9, 2012 at 5:02am (CEST)", loc)    fmt.Println(t)        /**    func ParseInLocation(layout, value string, loc *Location) (Time, error)     */    t, _ = time.ParseInLocation(shortForm, "2022-Jul-09", loc)    fmt.Println(t)    /**    func Parse(layout, value string) (Time, error)    解析一个格式化的工夫字符串并返回它代表的工夫    ParseInLocation相似Parse但有两个重要的不同之处。    第一,当短少时区信息时,Parse将工夫解释为UTC工夫,而ParseInLocation将返回值的Location设置为loc;    第二,当工夫字符串提供了时区偏移量信息时,Parse会尝试去匹配本地时区,而ParseInLocation会去匹配loc    */    t, _ = time.Parse(longForm, "Feb 3, 2023 at 7:54pm (PST)")    fmt.Println(t)            t, _ = time.Parse(shortForm, "2020-Feb-03")    fmt.Println(t)    ch := make(chan int)    timeout := time.After(time.Second * 2)    timer := time.NewTimer(time.Second * 4)     var i int    go func() {        for {            // i++            select {                case <- ch:                    fmt.Println("channel close")                    return                case <- timer.C:                    fmt.Println("4s的NewTimer定时工作")                case <- timeout:                    fmt.Println("4s定时输入")                case <- time.After(time.Second * 6):                    fmt.Println("6s到了")                 // default:                //     //Sleep 1秒,参数就是下面的Duration                //     time.Sleep(time.Second * 1)                //     fmt.Println("go 1s")            }        }    }()    time.Sleep(time.Second * 15)    fmt.Println("close----")    close(ch)    time.Sleep(time.Second * 2)}