GO中時間包

語言: CN / TW / HK

1. 示例

func ttime(){
	now:=time.Now()
	fmt.Println(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.Println(now.Unix())
	//時間相加
	new:=now.Add(time.Hour)
	fmt.Println(new)

	//時間格式化
	//Go語言中格式化時間模板不是常見的Y-m-d H:M:S而是使用Go的誕生時間2006年1月2號15點04分(記憶口訣為2006 1 2 3 4)
	fmt.Println(now.Format("2006-01-02 15:04:05"))
	fmt.Println(now.Format("2006-01-02 15:04:05.000"))


	//使用time.Tick(時間間隔)來設定定時器,定時器的本質上是一個通道(channel)。
	//timer:=time.Tick(time.Second)
	//for t:= range timer{
	//	fmt.Println(t)  //每隔一秒執行一次
	//}

	toTime("2019-02-13")

}



//把字串時間轉成time
func toTime(t string) time.Time{
	tobj,err:=time.Parse("2006-01-02",t)
	if err != nil {
		fmt.Printf("parse timer error,error:=%v \n",err)
		return tobj
	}
	fmt.Println(tobj)
	return tobj
}

2. 與其他語言不同點

  • Go語言中格式化時間模板不是常見的Y-m-d H:M:S而是使用Go的誕生時間2006年1月2號15點04分(記憶口訣為2006 1 2 3 4)
  • 2006-01-02 15:04:05 表示24小時制的 年-月-日 時:分:秒
  • 2006-01-02 03:04:05 PM 表示12小時制的 年-月-日 時:分:秒
  • 2006-01-02 15:04:05.000 表示24小時制的 年-月-日 時:分:秒.加毫秒