首頁  >  文章  >  後端開發  >  Go 語言中與時間處理相關的函數有哪些?

Go 語言中與時間處理相關的函數有哪些?

王林
王林原創
2023-06-09 19:51:131237瀏覽

Go 語言是一種新興的程式語言,它的高效性和簡潔性已經吸引了越來越多的開發者。在編寫程式時,操作時間是一個常見的需求,因此 Go 語言提供了許多與時間處理相關的函數。本文將介紹一些常用的時間處理函數。

  1. time.Now()

time.Now() 函數傳回目前的時間。此函數傳回的時間是一個 time.Time 類型的值。例如:

package main

import (
    "fmt"
    "time"
)

func main() {
    now := time.Now()
    fmt.Println(now)
}

輸出:2021-08-20 11:12:48.693123 0800 CST m= 0.000102671

  1. time.Parse()

time .Parse() 函數將字串解析為一個time.Time 類型的值。格式化字串必須遵循特定的規則,以指示要解析的字串所代表的時間。例如:

package main

import (
    "fmt"
    "time"
)

func main() {
    layout := "2006-01-02 15:04:05"
    str := "2021-08-20 10:10:10"
    t, err := time.Parse(layout, str)
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(t)
    }
}

輸出:2021-08-20 10:10:10 0000 UTC

  1. time.Unix()

#time.Unix( ) 函數將Unix 時間戳記轉換為一個time.Time 類型的值。 Unix 時間戳記是自 1970 年 1 月 1 日 00:00:00 UTC 起經過的秒數。例如:

package main

import (
    "fmt"
    "time"
)

func main() {
    unixTime := int64(1629488400)
    t := time.Unix(unixTime, 0)
    fmt.Println(t)
}

輸出:2021-08-20 10:20:00 0000 UTC

  1. time.Duration()

time.Duration( ) 函數表示時間間隔,以奈秒為單位。時間間隔是一個 time.Duration 類型的值。例如:

package main

import (
    "fmt"
    "time"
)

func main() {
    t1 := time.Now()
    time.Sleep(time.Second)
    t2 := time.Now()
    duration := t2.Sub(t1)
    fmt.Println(duration)
}

輸出:1.000743896s

  1. #time.After()
##time.After() 函數等待一段時間後回傳一個 channel。該 channel 將在指定的時間後接收一個值。例如:

package main

import (
    "fmt"
    "time"
)

func main() {
    fmt.Println("start")
    <-time.After(time.Second * 3)
    fmt.Println("end")
}

輸出:

start

end

以上就是關於 Go 語言中與時間處理相關的一些函數的介紹。在實際開發中,我們還需要根據具體需求使用其他的時間處理函數。在使用時,我們應該了解各個函數的作用和用法,以充分利用時間處理函數來提高程式碼效率。

以上是Go 語言中與時間處理相關的函數有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn