最新公告
  • 欢迎您光临码农资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!加入我们
  • golang time.Parse错误小时超出范围相同格式

    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

    想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
    本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
    如有侵权请发送邮件至1943759704@qq.com删除

    码农资源网 » golang time.Parse错误小时超出范围相同格式
    • 7会员总数(位)
    • 25846资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 293稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情