首頁 >後端開發 >Golang >如何在 Go 中解析像 Tar 輸出這樣的非標準時間戳記?

如何在 Go 中解析像 Tar 輸出這樣的非標準時間戳記?

Susan Sarandon
Susan Sarandon原創
2024-12-19 13:26:32722瀏覽

How to Parse Non-Standard Timestamps like Tar's Output in Go?

Go 中的日期解析

Go 中解析時間戳可能是一個挑戰,特別是在使用非標準格式時。其中一個場景涉及解析 tar 產生的時間戳,例如「2011-01-19 22:15」。

使用 time.Parse 函數解析此時間戳記的初始嘗試失敗,並顯示錯誤訊息「解析時間」 “2011-01-19 22:15”:月份超出範圍。 「此錯誤源自於以下事實:time.Parse 使用的預設時間格式需要與tar 時間戳記不同的標準格式。

要解決此問題,請查閱Go time 套件文件以取得有關定義自訂日期的說明格式。 2006」。要建立自訂格式,只需將標準格式的元素對應到所需格式的對應元素即可。

例如,要解析 tar 時間戳記「2011-01-19 22:15”,請使用以下程式碼:

import (
    "fmt"
    "time"
)

func main() {
    t, err := time.Parse("2006-01-02 15:04", "2011-01-19 22:15")
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(time.SecondsToUTC(t.Seconds()))
}

輸出:

Wed Jan 19 22:15:00 UTC 2011

使用此自訂格式,time.Parse 函數將正確解析tar 時間戳記並傳回UTC 格式的等效time.Time 物件。

以上是如何在 Go 中解析像 Tar 輸出這樣的非標準時間戳記?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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