go獲取兩個時間點的時間差、當前時間秒/毫秒/納秒數以及幾天前/后、幾小時前/后、幾分鍾前/后、幾秒前/后的時間


獲取當前時間及其秒、毫秒、納秒數
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
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM