獲取當前時間及其秒、毫秒、納秒數
now := time.Now() //獲取當前時間
==>2019-08-21 11:30:51.2470317 +0800 CST m=+0.004501101
fmt.Printf("時間戳(秒):%v;\n", time.Now().Unix()) //10位
fmt.Printf("時間戳(納秒):%v;\n",time.Now().UnixNano()) //19位
fmt.Printf("時間戳(毫秒):%v;\n",time.Now().UnixNano() / 1e6) //或者秒*1000也可
fmt.Printf("時間戳(納秒-->秒):%v;\n",time.Now().UnixNano() / 1e9)
獲取指定時間前的時間
// 獲取50秒前的時間,方式1
st,_ := time.ParseDuration("-50s")
fmt.Println("50秒前的時間:",time.Now().Add(st))
// 獲取1分鍾前的時間,n秒前則是time.Second * -n,方式2
t := time.Now().Add(time.Minute * -1)
fmt.Println("一分鍾前的時間:",t)
//獲取1小時前的時間
sth,_ := time.ParseDuration("-1h")
fmt.Println("1小時前的時間:",time.Now().Add(sth))
// 獲取2天前的時間
oldTime := time.Now().AddDate(0, 0, -2)
//獲取兩個月前的時間
oldTime := time.Now().AddDate(0, -2, 0)
獲取指定時間后的時間
// 獲取50秒后的時間,方式1
st,_ := time.ParseDuration("50s")
fmt.Println("50秒之后的時間:",time.Now().Add(st))
// 獲取1分鍾后的時間,n秒前則是time.Second * n,方式2
t := time.Now().Add(time.Minute * 1)
fmt.Println("一分鍾后的時間:",t)
//獲取1小時后的時間
sth,_ := time.ParseDuration("1h")
fmt.Println("1小時之后的時間:",time.Now().Add(sth))
// 獲取當前時間2天后的時間
newTime := time.Now().AddDate(0, 0, 2)
//newTime 的結果為時間time類型
//獲取當前時間2月后的時間
newTime := time.Now().AddDate(0, 2, 0)
獲取兩個時間點的時間差
t1 := time.Now()
//設置期間經歷了50秒時間
t2 := time.Now().Add(time.Second * 50)
fmt.Println("t2與t1相差:",t2.Sub(t1)) //t2與t1相差: 50s