首页 > 后端开发 > Golang > golang time.Parse错误小时超出范围相同格式

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

WBOY
发布: 2024-02-06 09:20:07
转载
1113 人浏览过

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
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板