首頁 > 後端開發 > Golang > 如何在 Go 的 time.Parse 函數中正確解析時間戳記?

如何在 Go 的 time.Parse 函數中正確解析時間戳記?

Linda Hamilton
發布: 2024-12-11 07:44:13
原創
303 人瀏覽過

How to Correctly Parse a Timestamp in Go's `time.Parse` Function?

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) “

地點:

  • 星期一、一月、2日、15 日、 04、05 分別是月、日、日、時、分、秒的對應值
  • MST 是時區偏移
  • 2006 是年份

要定義自訂佈局,開發人員需要確定標準時間如何以其所需的格式顯示。例如,要解析「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中文網其他相關文章!

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