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"))

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