首頁 > 後端開發 > Golang > 如何在 Go 中正確解析非標準日期和時間?

如何在 Go 中正確解析非標準日期和時間?

Patricia Arquette
發布: 2024-12-09 09:28:05
原創
319 人瀏覽過

How to Correctly Parse Non-Standard Dates and Times in Go?

在 Go 解析日期

使用時間戳時,通常會遇到標準 Unix 紀元時間戳以外的格式。例如,tar 產生格式為 2011-01-19 22:15 的時間戳記。為了在 Go 中解析此類時間戳,我們求助於 time.Parse 函數。

但是,只需呼叫time.Parse("2011-01-19 22:15", "2011-01-19 22:15 ") 將導致錯誤:「解析時間2011-01-19 22 :15: 月份超出範圍」。要理解原因,我們需要深入研究 time.Parse 函數的非常規 API。

格式化字串怪癖

time.Parse 函數需要一個指定格式字串如何解釋輸入時間戳記。出於我們的目的,我們使用 2006-01-02 15:04 格式。此字串遵循Go time 套件文件中規定的約定:

  • Mon Jan 2 15:04:05 MST 2006 (MST is GMT-0700)

To我們自己的格式,我們只需要指定標準格式的元素如何在我們的自訂格式中出現。例如,在我們的例子中,結果格式將是 2006-01-02 15:04。

解析時間戳

使用我們的格式化字串,我們現在可以解析時間戳:

import "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(t)
}
登入後複製

這將正確解析時間戳並顯示結果time.時間物件。

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

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