Go 中的日期解析
嘗試解析格式為「2011-01-19 22:15」的時間戳,即tar 常用的函數,開發人員在使用time.Parse 函數時可能會遇到困難。本文旨在提供此問題的解決方案。
以下程式碼片段示範了使用 time 解析時間戳記的失敗嘗試。解析:
package main import ( "fmt" "time" ) func main() { var time, error = time.Parse("2011-01-19 22:15", "2011-01-19 22:15") if error != nil { fmt.Println(error.String()) return } fmt.Println(time) }
此程式碼失敗並顯示錯誤訊息“'解析時間“2011-01-19 22:15”:月份超出範圍'”。
解決方案在於理解time.Parse的語法和語意。如同Go time 套件文件中所指定的, time.Parse 中使用的預設佈局是基於標準Unix 時間格式:
「Mon Jan 2 15:04:05 MST 2006 (MST is GMT-0700) “
地點:
要定義自訂佈局,開發人員需要確定標準時間如何以其所需的格式顯示。例如,要解析「2011-01-19 22:15」時間戳,可以使用以下程式碼片段:
package main 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())) }
這裡,我們指定了一個自訂佈局字串「2006-01-02 15 ” :04" 以符合輸入時間戳記。
以上是如何在 Go 的 time.Parse 函數中正確解析時間戳記?的詳細內容。更多資訊請關注PHP中文網其他相關文章!