Golang解析无前导零的RFC822Z格式日期遇问题求助
解决Go中无前置零日期字符串的解析问题
问题根源:你误用了
time.Parse的布局字符串规则——布局必须使用Go的**参考时间Mon Jan 2 15:04:05 MST 2006**对应的字段格式,而非目标日期的实际数字。你的布局里把秒字段写成了21,但正确的秒格式应该是05(对应参考时间的秒值)。正确的布局字符串:
"2 Jan 2006 15:04:05 -0700"修复后的代码示例:
package main import ( "fmt" "time" ) func main() { stringDate := "5 Dec 2022 20:15:21 +0000" parseTime, timeParseError := time.Parse("2 Jan 2006 15:04:05 -0700", stringDate) if timeParseError != nil { fmt.Println("解析错误:", timeParseError) return } fmt.Println("解析结果:", parseTime) }
- 验证说明:这个布局完全匹配你的日期格式:
2:匹配无前置零的日(如5)Jan:匹配月份缩写(如Dec)2006:匹配四位年份(如2022)15:04:05:匹配24小时制的时分秒(如20:15:21)-0700:匹配带正负号的四位时区偏移(如+0000)
之前的SA1002警告也是因为布局字符串不符合规范导致的静态检查提示,修复布局后警告会自动消失,解析也能成功。
内容的提问来源于stack exchange,提问作者vbp13
相关产品推荐
相关产品推荐

