首頁 > 後端開發 > Golang > 如何在 Go 中正確解析 Unix 時間戳記?

如何在 Go 中正確解析 Unix 時間戳記?

Linda Hamilton
發布: 2024-12-29 21:25:10
原創
509 人瀏覽過

How to Correctly Parse Unix Timestamps in Go?

在Go 中解析Unix 時間戳

當嘗試使用time.Parse 函數將Unix 時間戳記解析為time.Time 戳物件時,開發人員可能會遇到“超出範圍”錯誤。此錯誤可能會令人困惑,尤其是根據 Go 文件提供的佈局顯示正確時。

要了解此錯誤的原因,請務必注意 time.Parse 並非設計用於處理 Unix 時間戳記。相反,它專門解析以特定格式表示時間值的字串。

正確方法:

要解析 Unix 時間戳,建議使用 strconv.ParseInt 函數將時間戳字串轉換為整數 (int64) 表示形式。然後可以將該整數與 time.Unix 函數一起使用來建立表示指定時間戳記的 time.Time 物件。

package main

import (
    "fmt"
    "time"
    "strconv"
)

func main() {
    unixTimestamp, err := strconv.ParseInt("1405544146", 10, 64)
    if err != nil {
        panic(err)
    }

    timestamp := time.Unix(unixTimestamp, 0)
    fmt.Println(timestamp)
}
登入後複製

此程式碼將正確解析 Unix 時間戳字串並建立對應的 time.Time 對象,可用於進一步操作或儲存。

附加說明:

避免潛在的整數在 32 位元系統上會溢出,建議使用 strconv.ParseInt 而不是 strconv.Atoi 來解析 Unix 時間戳。 strconv.ParseInt 函數支援更廣泛的整數值,確保跨系統的兼容性。

以上是如何在 Go 中正確解析 Unix 時間戳記?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板