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套件提供的函數將時間戳記轉換為時間格式。常用的函數有以下幾種:
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
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
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
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中文網其他相關文章!