首頁 > 後端開發 > Golang > golang time.Parse錯誤小時超出範圍相同格式

golang time.Parse錯誤小時超出範圍相同格式

WBOY
發布: 2024-02-06 09:20:07
轉載
1119 人瀏覽過

golang time.Parse错误小时超出范围相同格式

問題內容

我有時間字串,格式如下:31 July 2023 21:06:36。我想透過使用解析來騰出時間。所以我這樣做了

    dateStr := "20 July 2023 21:06:36"
    formatLayout := "31 July 2023 21:06:36"
    parsedTime, err := time.Parse(formatLayout, dateStr)
    if err != nil {
        return detail, err
    }
登入後複製

但出現錯誤 parsing time "31 July 2023 21:06:36": hour out of range。然後我將格式佈局更改為 02 January 2006 15:04:05

    dateStr := "20 July 2023 21:06:36"
    formatLayout := "02 January 2006 15:04:05"
    parsedTime, err := time.Parse(formatLayout, dateStr)
    if err != nil {
        return detail, err
    }
登入後複製

它產生了正確的時間。我的問題是為什麼如果使用 02 一月 2006 15:04:05 的佈局它不會產生錯誤,但 31 七月 2023 21:06:36 會產生錯誤。它們的格式相同,對嗎?

謝謝


正確答案


Mon Jan 2 15:04:05 MST 2006(或01/02 03: 04:05PM '06 -0700)是Layout 套件中定義的time 常數

這樣定義是因為時間的每個部分(日、月、年、時、分、秒、時區)都是不同的,因此作為佈局使用很方便,因為它不包含不明確的欄位。例如。月始終為 1,日始終為 2,以此類推。

您可以看到,這是 time 套件用來執行解析的「特殊」時間。沒什麼更多的了。

另請參閱“Mon Jan 2 15”的起源:04:05 MST 2006”,golang

以上是golang time.Parse錯誤小時超出範圍相同格式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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