3 回答

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個(gè)贊
只需嘗試每種格式,直到一種有效。如果無效,則返回錯(cuò)誤。
var formats = []string{"2006-01-02T15:04:05", "2006-01-02", ...}
func parseTime(input string) (time.Time, error) {
for _, format := range formats {
t, err := time.Parse(format, input)
if err == nil {
return t, nil
}
}
return time.Time{}, errors.New("Unrecognized time format")
}

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超4個(gè)贊
在事先不知道格式的情況下解析許多日期字符串。使用掃描儀讀取字節(jié)并使用狀態(tài)機(jī)查找格式。
t,?err?:=?dateparse.ParseAny("3/1/2014")

TA貢獻(xiàn)1850條經(jīng)驗(yàn) 獲得超11個(gè)贊
在您描述的特定場(chǎng)景中,您可以檢查輸入日期戳字符串的長(zhǎng)度,并在其末尾添加適當(dāng)長(zhǎng)度的零內(nèi)容以對(duì)應(yīng)于您的layout
. 所以基本上你可以將盡可能多的字符串"T00:00:00"
(從末尾計(jì)數(shù))附加到輸入,因?yàn)榕c格式字符串相比長(zhǎng)度缺失layout
。
- 3 回答
- 0 關(guān)注
- 216 瀏覽
添加回答
舉報(bào)