日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

Go獲取兩個時間點(diǎn)時間差的具體實(shí)現(xiàn)_Golang

作者:緋淺yousa ? 更新時間: 2022-06-19 編程語言

獲取當(dāng)前時間及其秒、毫秒、納秒數(shù)

now := time.Now() //獲取當(dāng)前時間
==>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)

兩個時間作差,第一個時間是t1,第二個時間是t2,那么時間差是t2.Sub(t1)

具體顯示時間可以通過Format(time.ANSIC)打印時間格式,以及In接口+Location設(shè)置時區(qū)

例如:

TimeLocation, err := time.LoadLocation("Asia/Shanghai")
//err處理
t1.Now().In(TimeLocation).Format(time.ANSIC)

獲取兩個時間點(diǎn)時間差代碼

package main

import (
? ? "fmt"
? ? "time"
)

func main() {
? ? temp := 0
? ? t1 := time.Now()
? ? for i := 0; i < 100000; i++ {
? ? ? ? for j := 0; j < 10000; j++ {
? ? ? ? ? ? temp++
? ? ? ? }
? ? }
? ? fmt.Println(temp)
? ? t2 := time.Now()
? ? fmt.Println(t2.Sub(t1))

}

獲取指定時間前的時間

// 獲取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))
 
// 獲取當(dāng)前時間2天后的時間
newTime := time.Now().AddDate(0, 0, 2)
//newTime 的結(jié)果為時間time類型
 
//獲取當(dāng)前時間2月后的時間
newTime := time.Now().AddDate(0, 2, 0)

原文鏈接:https://blog.csdn.net/qq_15437667/article/details/80337136

欄目分類
最近更新