为什么第一种格式有效而第二种格式无效package mainimport ( "fmt" "time")func main() { date := "21/07/1993" in := "02/01/2006" out := "02-01-2006" dt, err := time.Parse(in, date) if err != nil { fmt.Println(err) } fmt.Println(dt.Format(out)) date = "21/07/1993" in = "02/01/2003" out = "02-01-2003" dt, err = time.Parse(in, date) if err != nil { fmt.Println(err) } fmt.Println(dt.Format(out))}输出21-07-1993parsing time "21/07/1993" as "02/01/2003": cannot parse "93" as "0"01-01-1012https://play.golang.org/p/Ht0XZVs54ta
3 回答
狐的传说
TA贡献1804条经验 获得超3个赞
我认为这相当简单,因为数字 21 不可能是一个月。由于它不可能是一个月,因此解析器可以推断出这是一天。但是,在第二个示例中,“02”可以是一个月或一天。您必须将数据整理成一种格式,以便更清楚是哪一天、哪一个月。
慕码人8056858
TA贡献1803条经验 获得超6个赞
这是一个常见的困惑。日期格式不是示例日期。每个日期元素都由格式中的特定数字表示。2006 表示年,02 表示日,01 表示月。因此 2003 不是有效格式的一部分。
- 3 回答
- 0 关注
- 100 浏览
添加回答
举报
0/150
提交
取消