package main import ( "time" "fmt" ) func main() { // 获取 当前时间 now := time.Now() fmt.Println("当前时间:",now) // %!(EXTRA time.Time=2021-04-09 15:58:34.0508706 +0800 CST m=+0.004986801) fmt.Printf("当前时间=%v , 类型=%T",now,now) // now=2021-04-09 16:03:41.2784475 +0800 CST m=+0.004986101 , type=time.Time fmt.Println(" ") // 获取 年月日时分秒 fmt.Println(now) fmt.Println(now.Year(),now.Month(),int(now.Month()),now.Day()) // 2021 April 4 9 fmt.Println(now.Hour(),now.Minute(),now.Second()) // 16 23 20 // 格式化时间 Printf SPrintf fmt.Printf("年月日时分秒 %d-%d-%d %d:%d:%d ",now.Year(),int(now.Month()),now.Day(),now.Hour(),now.Minute(),now.Second()) dateStr := fmt.Sprintf("年月日时分秒 %d-%d-%d %d:%d:%d ",now.Year(),int(now.Month()),now.Day(),now.Hour(),now.Minute(),now.Second()) fmt.Printf(dateStr) // 结果相同: 年月日时分秒 2021-4-9 16:23:20 fmt.Println(now.Format("2006-01-02 15:04:05")) // 固定格式输出当前 年月日时分秒,2006-01-02 15:04:05,固定写法 fmt.Println(now.Format("2006-01-02")) fmt.Println(now.Format("15:04:05")) // time.sleep 用法 // Year,Month,Day,Hour,Minute,Second,Millisecond毫秒,Microsescond微秒,Nanosecond纳秒 t1 := time.Now().Second() time.Sleep(time.Second * 3) // 睡3秒 t2 := time.Now().Second() fmt.Println(t2-t1) fmt.Println(time.Now().Year()) // time Unix和UnixNano 的用法 // 从时间点 1970年1月1日 UTC时间到时间点所经过的时间 now1 := time.Now() fmt.Println(now1.Unix()) // 单位:秒 1618195108 fmt.Println(now1.UnixNano()) // 单位:纳秒 1618195108933101300 // 如果 纳秒为单位的unix时间超出了int64能表示的范围,结果是 未定义的 }