Go獲取兩個(gè)時(shí)間點(diǎn)時(shí)間差的具體實(shí)現(xiàn)
獲取當(dāng)前時(shí)間及其秒、毫秒、納秒數(shù)
now := time.Now() //獲取當(dāng)前時(shí)間
==>2019-08-21 11:30:51.2470317 +0800 CST m=+0.004501101
fmt.Printf("時(shí)間戳(秒):%v;\n", time.Now().Unix()) //10位
fmt.Printf("時(shí)間戳(納秒):%v;\n",time.Now().UnixNano()) //19位
fmt.Printf("時(shí)間戳(毫秒):%v;\n",time.Now().UnixNano() / 1e6) //或者秒*1000也可
fmt.Printf("時(shí)間戳(納秒-->秒):%v;\n",time.Now().UnixNano() / 1e9)
兩個(gè)時(shí)間作差,第一個(gè)時(shí)間是t1,第二個(gè)時(shí)間是t2,那么時(shí)間差是t2.Sub(t1)
具體顯示時(shí)間可以通過(guò)Format(time.ANSIC)打印時(shí)間格式,以及In接口+Location設(shè)置時(shí)區(qū)
例如:
TimeLocation, err := time.LoadLocation("Asia/Shanghai")
//err處理
t1.Now().In(TimeLocation).Format(time.ANSIC)獲取兩個(gè)時(shí)間點(diǎn)時(shí)間差代碼
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))
}獲取指定時(shí)間前的時(shí)間
// 獲取50秒前的時(shí)間,方式1
st,_ := time.ParseDuration("-50s")
fmt.Println("50秒前的時(shí)間:",time.Now().Add(st))
// 獲取1分鐘前的時(shí)間,n秒前則是time.Second * -n,方式2
t := time.Now().Add(time.Minute * -1)
fmt.Println("一分鐘前的時(shí)間:",t)
//獲取1小時(shí)前的時(shí)間
sth,_ := time.ParseDuration("-1h")
fmt.Println("1小時(shí)前的時(shí)間:",time.Now().Add(sth))
// 獲取2天前的時(shí)間
oldTime := time.Now().AddDate(0, 0, -2)
//獲取兩個(gè)月前的時(shí)間
oldTime := time.Now().AddDate(0, -2, 0)獲取指定時(shí)間后的時(shí)間
// 獲取50秒后的時(shí)間,方式1
st,_ := time.ParseDuration("50s")
fmt.Println("50秒之后的時(shí)間:",time.Now().Add(st))
// 獲取1分鐘后的時(shí)間,n秒前則是time.Second * n,方式2
t := time.Now().Add(time.Minute * 1)
fmt.Println("一分鐘后的時(shí)間:",t)
//獲取1小時(shí)后的時(shí)間
sth,_ := time.ParseDuration("1h")
fmt.Println("1小時(shí)之后的時(shí)間:",time.Now().Add(sth))
// 獲取當(dāng)前時(shí)間2天后的時(shí)間
newTime := time.Now().AddDate(0, 0, 2)
//newTime 的結(jié)果為時(shí)間time類型
//獲取當(dāng)前時(shí)間2月后的時(shí)間
newTime := time.Now().AddDate(0, 2, 0)到此這篇關(guān)于Go獲取兩個(gè)時(shí)間點(diǎn)時(shí)間差的具體實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Go獲取時(shí)間差內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Go語(yǔ)言基礎(chǔ)學(xué)習(xí)之map的示例詳解
哈希表是常見(jiàn)的數(shù)據(jù)結(jié)構(gòu),有的語(yǔ)言會(huì)將哈希稱作字典或者映射,在Go中,哈希就是常見(jiàn)的數(shù)據(jù)類型map,本文就來(lái)聊聊Golang中map的相關(guān)知識(shí)吧2023-04-04
使用Go語(yǔ)言實(shí)現(xiàn)一個(gè)簡(jiǎn)單的無(wú)界資源池
本文我們希望通過(guò)go語(yǔ)言實(shí)現(xiàn)一個(gè)簡(jiǎn)單的資源池,而這個(gè)資源池的資源包括但不限于數(shù)據(jù)庫(kù)連接池,線程池,協(xié)程池,網(wǎng)絡(luò)連接池,只要這些資源實(shí)現(xiàn)我們指定的關(guān)閉方法,則都可以通過(guò)我們封裝的資源池進(jìn)行統(tǒng)一管理,文中通過(guò)代碼示例給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-05-05
golang連接MongoDB數(shù)據(jù)庫(kù)及數(shù)據(jù)庫(kù)操作指南
MongoDB是Nosql中常用的一種數(shù)據(jù)庫(kù),下面這篇文章主要給大家介紹了關(guān)于golang連接MongoDB數(shù)據(jù)庫(kù)及數(shù)據(jù)庫(kù)操作的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09
Go語(yǔ)言學(xué)習(xí)技巧之命名規(guī)范
最近在學(xué)習(xí)go語(yǔ)言,發(fā)現(xiàn)了不少需要整理的知識(shí)點(diǎn),所以整理下分享出來(lái),下面這篇文章主要給大家介紹了關(guān)于Go語(yǔ)言學(xué)習(xí)技巧之命名規(guī)范的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-12-12
golang調(diào)用shell命令(實(shí)時(shí)輸出,終止)
本文主要介紹了golang調(diào)用shell命令(實(shí)時(shí)輸出,終止),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02

