我有一個案例,我可以單獨擁有日期或日期+時區(qū)。因此,當(dāng)我像這樣用時區(qū)解析它時dateString := "2021-03-11T00:00:00Z"time1, _ := time.Parse(time.RFC3339,dateString); fmt.Println(time1); 它給出了準(zhǔn)確的答案,但當(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”。實現(xiàn)此目標(biāo)的最佳方法是什么
1 回答
慕森王
TA貢獻1777條經(jīng)驗 獲得超3個贊
要僅解析日期,可以使用“2006-01-02”作為布局。time.Parse
請參閱官方文檔,了解這些布局的處理方式和預(yù)期內(nèi)容。time.Parse
正如@zerkms在評論中所說的那樣,如果您檢查錯誤,您將知道它是否成功,因此您可以嘗試其他方法。粗略代碼草圖: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ù)中,該函數(shù)在放棄并返回錯誤之前嘗試以兩種方式解析。
- 1 回答
- 0 關(guān)注
- 151 瀏覽
添加回答
舉報
0/150
提交
取消
