package main import ( "fmt" "time" ) func main() { t := time.Now().Unix() //秒时间戳 fmt.Println("秒时间戳:", t) t = time.Now().UnixMilli() //毫秒 fmt.Println("毫秒时间戳: ", t) t = time.Now().UnixNano() //纳秒 fmt.Println("纳秒: ", t) //格式化显示时间 fmt.Println(time.Now().Format("2006-01-02 15:04:05")) //定时器 time.AfterFunc(time.Second, func() { fmt.Println(time.Now().Format("2006-01-02 15:04:05")) }) //定时器如何触发,go语言中采用的是堆结构,而且是四叉树的堆结构 //定时触发器 每一秒中创建一个Ticker,ticker的chan中有数据,就会被select轮询到 ticker := time.NewTicker(time.Second) //返回一个Ticker结构体,Ticker结构体包含一个chan C go func() { for { select { case <-ticker.C: //管道中有值时触发 fmt.Println(time.Now().Format("2006-01-02 15:04:05")) } } }() //协程休眠3秒 time.Sleep(10 * time.Second) }