Go语言:如何解析带句点的日期时间字符串(如01.08.2022 17:00:02)
解决Go中带句点的数字日期时间字符串解析问题
你的代码解析失败的核心原因是格式串与输入字符串的日期格式不匹配:
- 你用的格式串
"2.Jan.2006 15:04:05"中,Jan代表月份缩写(比如Jan、Feb),但输入字符串"01.08.2022 17:00:02"里的08是两位数字月份,两者类型不匹配,导致解析报错。
要正确解析这种日.月.年 时:分:秒格式的字符串,需要把格式串中的月份部分换成数字占位符01(对应两位数字月份),同时调整日期占位符为02(对应两位数字日期),最终格式串应为"02.01.2006 15:04:05"。
修正后的代码如下:
package main import "fmt" import "time" func main() { date, err := time.Parse("02.01.2006 15:04:05", "01.08.2022 17:00:02") if err != nil { panic(err) } fmt.Println(date) }
运行这段代码后,会正确输出解析后的时间:2022-08-01 17:00:02 +0000 UTC(时区默认是UTC,若需要指定时区可额外处理)。
内容的提问来源于stack exchange,提问作者ratbek
相关产品推荐
相关产品推荐

