為什么第一種格式有效而第二種格式無效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 關注
- 145 瀏覽
添加回答
舉報
0/150
提交
取消