golang时间和日期相关函数

//时间和日期相关函数
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)
	}
}

  

posted @ 2022-02-23 14:19  Star_Gazer  阅读(130)  评论(0编辑  收藏  举报