桃花長(zhǎng)相依
2022-08-15 16:42:53
我有一個(gè)案例,我可以單獨(dú)擁有日期或日期+時(shí)區(qū)。因此,當(dāng)我像這樣用時(shí)區(qū)解析它時(shí)dateString := "2021-03-11T00:00:00Z"time1, _ := time.Parse(time.RFC3339,dateString); fmt.Println(time1); 它給出了準(zhǔn)確的答案,但當(dāng)我動(dòng)態(tài)地它變得像DatedateString := "2021-03-11"time1, _ := time.Parse(time.RFC3339,dateString); fmt.Println(time1); //gives this 0001-01-01 00:00:00 +0000 UTC而在這兩種情況下,我只想要像這樣的日期“2021-03-11”。實(shí)現(xiàn)此目標(biāo)的最佳方法是什么
1 回答

慕森王
TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超3個(gè)贊
要僅解析日期,可以使用“2006-01-02”作為布局。time.Parse
請(qǐng)參閱官方文檔,了解這些布局的處理方式和預(yù)期內(nèi)容。time.Parse
正如@zerkms在評(píng)論中所說的那樣,如果您檢查錯(cuò)誤,您將知道它是否成功,因此您可以嘗試其他方法。粗略代碼草圖:time.Parse
dateString := "2021-03-11"
time1, err := time.Parse(time.RFC3339, dateString)
if err != nil {
time1, err = time.Parse("2006-01-02", dateString)
if err != nil {
log.Fatal("cannot parse using either layout:", err)
}
}
fmt.Println(time1)
在現(xiàn)實(shí)生活中,我可能會(huì)把它包裝在一個(gè)函數(shù)中,該函數(shù)在放棄并返回錯(cuò)誤之前嘗試以兩種方式解析。
- 1 回答
- 0 關(guān)注
- 133 瀏覽
添加回答
舉報(bào)
0/150
提交
取消