golang中的標準庫time

2022-09-19 05:12:14 字數 1715 閱讀 3850

time.time型別表示時間。我們可以通過time.now()函式獲取當前的時間物件,然後獲取時間物件的年月日時分秒等資訊。示例**如下:

func main()
時間戳是自2023年1月1日(08:00:00gmt)至當前時間的總毫秒數。它也被稱為unix時間戳(unixtimestamp)。

基於時間物件獲取時間戳的示例**如下:

func main()
使用time.unix()函式可以將時間戳轉為時間格式。

func main()
add

我們在日常的編碼過程中可能會遇到要求時間+時間間隔的需求,go語言的時間物件有提供add方法如下:

func main()
sub

求兩個時間之間的差值:

func main()
返回乙個時間段t-u。如果結果超出了duration可以表示的最大值/最小值,將返回最大值/最小值。要獲取時間點t-d(d為duration),可以使用t.add(-d)。

equal

func main()
判斷兩個時間是否相同,會考慮時區的影響,因此不同時區標準的時間也可以正確比較。本方法和用t==u不同,這種方法還會比較地點和時區資訊。

before

func main()
如果t代表的時間點在u之前,返回真;否則返回假。

after

func (t time) after(u time) bool
如果t代表的時間點在u之後,返回真;否則返回假。

使用time.tick(時間間隔)來設定定時器,定時器的本質上是乙個通道(channel)

方法一:

func main() 

}

輸出結果:

2021-11-29 10:01:36

2021-11-29 10:01:37

2021-11-29 10:01:38

方法二:

func main() 

}

時間型別有乙個自帶的方法format進行格式化,需要注意的是go語言中格式化時間模板不是常見的y-m-d h:m:s而是使用go的誕生時間2023年1月2號15點04分(記憶口訣為2006 1 2 3 4)。也許這就是技術人員的浪漫吧。

補充:如果想格式化為12小時方式,需指定pm。

func main()
解析字串格式的時間
func main() 

// 按照指定時區和指定格式解析字串時間

timeobj, err := time.parseinlocation("2006/01/02 15:04:05", "2021/11/28 23:59:59", loc)

if err != nil

fmt.println(timeobj)

fmt.println(now.sub(timeobj))

}

輸出結果:

2021-11-29 10:39:02.8339716 +0800 cst m=+0.010589201

2021-11-28 23:59:59 +0800 cst

10h39m3.8339716s

golang標準庫 time包

時間型別,包含了秒和納秒以及location type month int 月份.定義了十二個月的常量 type weekday int 周,定義了一周的七天 type duration int64 持續時間.定義了以下持續時間型別.多用於時間的加減 需要傳入duration做為引數的時候.可以直接...

golang中的標準庫http

go語言內建的net http包十分的優秀,提供了http客戶端和服務端的實現。基本的http https請求 get head post和postform函式發出http https請求。url.values,id 程式在使用完response後必須關閉回覆的主體。使用net http包編寫乙個簡...

golang中的標準庫strconv

這一組函式是我們平時程式設計中用的最多的。atoi 函式用於將字串型別的整數轉換為int型別,函式簽名如下。func atoi s string i int,err error 如果傳入的字串引數無法轉換為int型別,就會返回錯誤。func main 結論 atoi 如果轉換成功結果就是正常的數值,...