Go - 时间处理

#获取当前时间

	now := time.Now()
	fmt.Printf("current time:%v\n", now)
	year := now.Year()     //年
	month := now.Month()   //月
	day := now.Day()       //日
	hour := now.Hour()     //小时
	minute := now.Minute() //分钟
	second := now.Second() //秒
	now.Unix()             //时间戳
	now.UnixNano()         //时间戳
	fmt.Printf("%d-%02d-%02d %02d:%02d:%02d\n", year, month, day, hour, minute, second)

时间戳转时间

	//时间戳转时间,[秒时间戳][纳秒时间戳]
	unix := time.Unix(1624601480, 0)
	fmt.Println(unix.Format("2006-01-02 15:04:05"))

字符串转时间

	//字符串转时间
	parseTime, _ := time.Parse("2006-01-02 15:04:05", "2021-01-25 10:06:45")
	parseLocalTime, _ := time.ParseInLocation("2006-01-02 15:04:05", "2021-01-25 10:06:45", time.Local)
	fmt.Println(parseTime, parseLocalTime)

获取当前是星期几


	fmt.Println(now.Weekday().String())

时间计算


	now = now.Add(time.Hour) //加1小时,如果为负数,就是减1小时
	sub := now.Sub(unix)     //计算时间差值
	fmt.Println(sub)

	//Equal , Before , After

定时器


	ticker := time.Tick(time.Second) //定义一个1秒间隔的定时器
	for i := range ticker {
		fmt.Println(i) //每秒都会执行的任务
	}

格式化

	// 格式化的模板为Go的出生时间2006年1月2号15点04分 Mon Jan
	// 24小时制
	fmt.Println(now.Format("2006-01-02 15:04:05.000 Mon Jan"))
	// 12小时制
	fmt.Println(now.Format("2006-01-02 03:04:05.000 PM Mon Jan"))
	fmt.Println(now.Format("2006/01/02 15:04"))
	fmt.Println(now.Format("15:04 2006/01/02"))
	fmt.Println(now.Format("2006/01/02"))

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章