首頁 >後端開發 >Golang >golang怎麼將時間戳轉換為時間格式

golang怎麼將時間戳轉換為時間格式

PHPz
PHPz原創
2023-04-24 14:46:247213瀏覽

Golang是一種強類型的程式語言,特別適用於編寫網路服務和高並發應用程式。在編寫應用程式時,常常需要處理時間相關的數據,例如時間戳記。 Golang提供了時間轉換的函數,可以將時間戳轉換為時間格式。

一、時間戳

時間戳是指從西元1970年1月1日0點0分0秒(UTC)到目前時間的毫秒數或秒數。這種時間表示方法,由於具有相對的固定性和全球通用的標準,被廣泛使用。

在Golang中,時間戳可以分成兩種,一種是Unix時間戳,一種是UnixNano時間戳。

Unix時間戳是指從1970年1月1日0點0分0秒(UTC)起經過的秒數。在Golang中,可以用time.Unix函數將Unix時間戳轉換為時間格式。

UnixNano時間戳是指自1970年1月1日0點0分0秒(UTC)起經過的奈秒數。在Golang中,可以用time.UnixNano函式將UnixNano時間戳記轉換為時間格式。

二、時間轉換

在Golang中,可以用time套件提供的函數將時間戳記轉換為時間格式。常用的函數有以下幾種:

  1. time.Unix

time.Unix函數可以將Unix時間戳記轉換為時間格式。它的參數t是Unix時間戳,單位為秒,參數nano為奈秒部分。

使用範例:

package main

import (
    "fmt"
    "time"
)

func main() {
    timestamp := int64(1635593048) // Unix时间戳
    t := time.Unix(timestamp, 0)
    fmt.Println(t)
}

輸出結果:

2021-10-30 22:30:48 +0800 CST
  1. time.UnixNano

time.UnixNano函數可以將UnixNano時間戳轉換為時間格式。它的參數t是UnixNano時間戳,單位為奈秒。

使用範例:

package main

import (
    "fmt"
    "time"
)

func main() {
    timestamp := int64(1635593048644816891) // UnixNano时间戳
    t := time.Unix(0, timestamp)
    fmt.Println(t)
}

輸出結果:

2021-10-30 22:30:48.644816891 +0800 CST
  1. #time.Parse

time.Parse函數可以將時間字串解析成時間格式。它的參數layout是時間字串的格式。參數value是時間字串。

使用範例:

package main

import (
    "fmt"
    "time"
)

func main() {
    t, _ := time.Parse("2006-01-02 15:04:05", "2021-10-30 22:30:48")
    fmt.Println(t.Unix())
}

輸出結果:

1635593048
  1. #time.Format

time.Format函數可以將時間格式化成時間字串。它的參數layout是時間字串的格式。

使用範例:

package main

import (
    "fmt"
    "time"
)

func main() {
    t := time.Now()
    fmt.Println(t.Format("2006-01-02 15:04:05"))
}

輸出結果:

2021-11-03 11:22:33

三、總結

時間戳記是常用的時間表示方法,可以表示絕對時間。 Golang提供了豐富的時間處理函數,可以將時間戳記轉換為時間格式,並進行時間計算、比較、格式化等操作。開發者在實際應用中,可以根據需求彈性使用時間處理函數,提高開發效率。

以上是golang怎麼將時間戳轉換為時間格式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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