Go語言基礎之time包

2022-09-15 01:03:11 字數 2780 閱讀 7347

時間和日期是我們程式設計中經常會用到的,本文主要介紹了go語言內建的time包的基本用法。

時間型別

time包提供了時間的顯示和測量用的函式。日曆的計算採用的是公曆。

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

func timedemo()

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

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

//時間戳

func timestampdemo()

使用time.unix()將時間戳轉換為時間 格式 

func timestampdemo2(timestamp int64)

時間間隔

time.durationtime包定義的乙個型別,它代表兩個時間點之間經過的時間,以納秒為單位。time.duration表示一段時間間隔,可表示的最長時間段大約290年。

//時間間隔

fmt.println(time.second)

//sleep多少秒

time.sleep(2 *time.second)

fmt.println(

"時間過去了2s")

// now +24小時

fmt.println(now.add(24 * time.hour))

時間操作

package main

import

(

"fmt""

time")

func f1()

now =now.utc()

d :=nextyear.sub(now)

fmt.println(d)

fmt.println(

"---------------------")

fmt.println(now.format(

"2006-01-02"))

fmt.println(now.format(

"2006-01-02 15:04:05 "))

fmt.println(now.format(

"2006-01-02 03:04:05 am"))

fmt.println(now.format(

"2006-01-02 15:04:05 pm"))

timeobj, err := time.parse("

2006-01-02

", "

2021-05-13")

if err !=nil

fmt.println(timeobj)

fmt.println(timeobj.unix())

}//時區

func f2()

loc, err := time.loadlocation("

asia/shanghai")

if err !=nil

//按照指定時區解析時間

timeobj, err := time.parseinlocation("

2006-01-02 03:04:05

", "

2021-05-13 11:33:30

", loc)

if err !=nil

fmt.println(timeobj)

time_delta :=timeobj.sub(now)

fmt.println(time_delta)

}func f3()

func main()

時間格式化

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

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

func formatdemo()

func f4()  

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

timeobj, err := time.parseinlocation("

2006/01/02 15:04:05

","2021/05/14 11:08:20

", loc)

if err !=nil

fmt.println(timeobj)

fmt.println(timeobj.add(10 *time.second))

}

生成隨機數種子, 生成隨機數

package main

import

(

"fmt""

math/rand""

time")

//waitgroup

func f()

}func main()

package main

import

(

"fmt""

math/rand""

time")

//waitgroup

func f()

}func main()

Go語言基礎之time包

時間和日期是我們程式設計中經常會用到的,本文主要介紹了go語言內建的time包的基本用法。go語言中使用import關鍵字匯入包,包的名字使用雙引號 包裹起來。import time import fmt 匯入多個包時可以使用圓括號,包名的順序不影響匯入效果,例如 import fmt time 需...

go語言基礎 時間time包

time包下有很多跟時間有關係的方法,以前我們介紹的隨機數就是利用了time包下的乙個方法,接下來我再來介紹一些常用方法 日期和時間 now time,獲取當前的日期 date time,獲取指定的日期 time string,string time 格式化列印當前時間,要按照go語言特定的格式輸入...

Go語言編寫規範之time包

time.time可以理解為時間單位,其中包含了一些對時間的處理方法,time.now 返回就是time.time型別 在處理時間的瞬時時使用time.time,在比較 新增或減去時間時使用time.time中的方法。badgood func isactive now,start,stop int ...