package main
import ( "fmt" "time")
func main() { // 日期和时间相关函数和方法的使用
// 1.获取当前时间 now := time.Now() // now = 2022-10-16 12:33:25.9941447 +0800 CST m=+0.002308001, type = time.Time fmt.Printf("now = %v, type = %T", now, now)
// 去除now中的年 月 日 时分秒 fmt.Printf("年 = %v\n", now.Year()) fmt.Printf("月 = %v\n", now.Month()) fmt.Printf("月 = %v\n", int(now.Month())) fmt.Printf("日 = %v\n", now.Day()) fmt.Printf("时 = %v\n", now.Hour()) fmt.Printf("分 = %v\n", now.Minute()) fmt.Printf("秒 = %v\n", now.Second())
// 格式化时间 fmt.Printf("当前年月日 %d-%d-%d %d:%d:%d \n", now.Year(), now.Month(), now.Day(), now.Hour(), now.Minute(), now.Second()) // 把字符串给一个变量 dataStr := fmt.Sprintf("当前年月日 %d-%d-%d %d:%d:%d \n", now.Year(), now.Month(), now.Day(), now.Hour(), now.Minute(), now.Second())
fmt.Printf("dataStr = %v", dataStr)
// 格式化第二种写法 // 2006/01/02 15:04:05 这个字符串是固定的,必须这样写 // 数字不能乱改,间隔可以改 // 可按需求组合 fmt.Printf(now.Format("2006/01/02 15:04:05")) // 2022/10/16 14:38:34 fmt.Println() fmt.Printf(now.Format("2006-01-02")) // 2022-10-16 fmt.Println() fmt.Printf(now.Format("15:04:06")) // 14:38:22 fmt.Println()
// 只取月份 fmt.Printf(now.Format("01")) fmt.Println() // 只取年 fmt.Printf(now.Format("2006")) fmt.Println()
// 时间的常量应用
// // 结合Sleep使用 // // 每个一秒打印一个数字,打印到100就退出 // i := 0 // for { // i++ // fmt.Println("i = ", i) // //休眠 // time.Sleep(time.Second) // if 1 == 100 { // break // } // }
// 每隔0.1秒打印一个数字,到100时退出 i := 0 for { i++ fmt.Println("new i = ", i) // 0.1秒 = Millisecond * 100 time.Sleep(time.Millisecond * 100) if i == 100 { break } }
// Unix 和 UnixNano
fmt.Printf("Unix 时间戳:=%v , UnixNano时间戳= %v\n", now.Unix(), now.UnixNano()) // Unix 时间戳:=1665904263 , UnixNano时间戳= 1665904263830448500 }
评论