golang時間和日期相關函式
阿新 • • 發佈:2022-02-23
//時間和日期相關函式 func main() { //1.獲取當前時間 now := time.Now() fmt.Printf("now = %v, type = %T", now, now) //2.通過now獲取年月日時分秒 fmt.Println("年= ", now.Year()) fmt.Println("月= ", now.Month()) fmt.Println("日= ", now.Day()) fmt.Println("時= ", now.Hour()) fmt.Println("分= ", now.Minute()) fmt.Println("秒= ", now.Second()) //格式化日期時間 fmt.Printf("當前年月日 %d-%d-%d %d:%d:%d\n", now.Year(), now.Month(), now.Day(), now.Hour(), now.Minute(), now.Second()) dateStr := fmt.Sprintf("當前年月日 %d-%d-%d %d:%d:%d\n", now.Year(), now.Month(), now.Day(), now.Hour(), now.Minute(), now.Second()) fmt.Printf("dateStr=%v\n", dateStr) //格式化日期的第二種方式time.Format() fmt.Println(now.Format("2006-01-02 15:04:05")) fmt.Println(now.Format("2006-01-02")) fmt.Println(now.Format("15:04:05")) //需求,每隔一秒鐘列印一個數字,列印到100退出 /* 時間常量: Nanosecond = 1納秒 Microsecond = 1000*Nanosecond微秒 Millisecond = 1000*Microsecond毫秒 */ i := 0 for { i++ fmt.Println(i) //休眠 time.Sleep(time.Second) if i == 100 { break } } //時間戳(用於獲取隨機數字) //Unix和UnixNano的使用 fmt.Printf("Unix時間戳=%v Unixnano時間戳=%v", now.Unix(), now.UnixNano()) }
計算拼接十萬個字元所用時長
func main() { start := time.Now().Unix() timetest() end := time.Now().Unix() fmt.Println("所用時間為 ", end-start) } func timetest() { str := "hello" for i := 0; i < 100000; i++ { str = str + strconv.Itoa(i) } }