Golang作為行動網路時代的代表性程式語言,在時間處理上有著獨具特色的實作方式。本文將介紹Golang中的time包,豁然開朗的實作方式。
time套件
在Golang中,我們可以透過time套件來進行時間相關的操作。 time包提供了兩種時間的表示方式:時間點(Time)和時長(Duration)。時間點代表了一個具體的時刻,而時長則代表了一個時間段,通常以奈秒為單位表示。
time套件中的常用函數
本文將會介紹幾個常用的函數,如下:
#函數Now傳回目前的本地時間。
程式碼範例:
package main import ( "fmt" "time" ) func main() { now := time.Now() fmt.Println("当前时间:", now) }
輸出結果:
当前时间: 2021-08-02 16:22:48.6399933 +0800 CST m=+0.004007201
函數Sleep可以讓目前的程式“睡眠”,即暫停執行一段時間,等待時間結束後繼續執行。
程式碼範例:
package main import ( "fmt" "time" ) func main() { fmt.Println("开始睡眠...") time.Sleep(2 * time.Second) fmt.Println("睡眠结束!") }
輸出結果:
开始睡眠... 睡眠结束!
函數Since可以計算某個時間點到現在的時間差,回傳值為Duration類型。
程式碼範例:
package main import ( "fmt" "time" ) func main() { t := time.Now().Add(-30 * time.Second) fmt.Println("30秒前的时间:", t) duration := time.Since(t) fmt.Println("时间差:", duration) }
輸出結果:
30秒前的时间: 2021-08-02 16:28:42.440203 +0800 CST m=-30.004781101 时间差: 30.0072892s
函數Parse可以將一個字串轉換成時間類型,參數layout是一個時間格式的字串,用於指定所輸入的時間字串的格式,參數value是待解析的字串。
程式碼範例:
package main import ( "fmt" "time" ) func main() { str := "2021-08-02 16:40:32" layout := "2006-01-02 15:04:05" t, _ := time.Parse(layout, str) fmt.Println("解析结果:", t) }
輸出結果:
解析结果: 2021-08-02 16:40:32 +0000 UTC
#函數Format是將時間t格式化輸出的函數,其中layout是格式化字串。
程式碼範例:
package main import ( "fmt" "time" ) func main() { t := time.Now() fmt.Println("当前时间:", t) layout := "2006年01月02日 15:04:05" fmt.Println("格式化后的时间:", t.Format(layout)) }
輸出結果:
当前时间: 2021-08-02 16:31:32.5976906 +0800 CST m=+0.013279501 格式化后的时间: 2021年08月02日 16:31:32
總結
Golang的time套件提供了開發人員在時間處理方面的支援。本文簡單介紹了幾個常用的函數,可以讓大家更能理解time包的使用方法。透過熟悉time包,可以更好地處理與時間相關的業務邏輯。
以上是詳解Golang中time套件的使用方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!