登录
首页 >  Golang >  Go问答

解析不带前导零的日期格式的RFC822Z数据使用Golang

来源:stackoverflow

时间:2024-03-24 20:03:37 390浏览 收藏

本文探讨了解析不带前导零的 RFC822Z 格式日期字符串的挑战。RFC822Z 格式通常用于表示日期和时间,例如“06 年 1 月 2 日 15:04 -0700”。但是,当日期字符串缺少前导零时,使用 time.parse 函数直接解析可能会导致错误。文章介绍了一种解决方案,即手动指定日期格式,例如“2 Jan 2006 15:04:05 -0700”,以正确解析日期字符串。

问题内容

我有一个无法控制的日期字符串,我正在尝试将其解析为日期。

该格式与 rfc822z 最相似。

rfc822z =“06 年 1 月 2 日 15:04 -0700”

参考:https://yourbasic.org/golang/format-parse-string-time-date-example/

但是,它没有前导零。

示例:“2022 年 12 月 5 日 20:15:21 +0000”

我在其他帖子中看到的方法是编写手动格式。

parsetime, timeparseerror = time.parse("2 jan 2006 15:04:21 -0700", stringdate)

但是,当我尝试这样做时,我收到警告:

parsing time "2 Jan 2006 15:04:21 -0700" as "2 Jan 2006 15:04:21 -0700": cannot parse " -0700" as "1" (SA1002)

尽管有警告,但运行它失败了,这并不奇怪。


正确答案


您的时间格式不匹配 - 在您的示例中,您有“2022年12月5日”,但您使用的是“2 Jan 06”,并且在您的参考格式中您有“15:04:21”,但它应该是“15:04:05”。

您的参考格式应为 2 Jan 2006 15:04:05 -0700 而不是 2 Jan 06 15:04:21 -0700

https://go.dev/play/p/Shc381WgB6_7

今天关于《解析不带前导零的日期格式的RFC822Z数据使用Golang》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>