1 回答

TA貢獻1843條經驗 獲得超7個贊
您可以決定 Go 布局中需要支持哪些布局 ( https://programming.guide/go/format-parse-string-time-date-example.html ):
ANSIC = "Mon Jan _2 15:04:05 2006"
UnixDate = "Mon Jan _2 15:04:05 MST 2006"
RubyDate = "Mon Jan 02 15:04:05 -0700 2006"
RFC822 = "02 Jan 06 15:04 MST"
RFC822Z = "02 Jan 06 15:04 -0700" // RFC822 with numeric zone
RFC850 = "Monday, 02-Jan-06 15:04:05 MST"
RFC1123 = "Mon, 02 Jan 2006 15:04:05 MST"
RFC1123Z = "Mon, 02 Jan 2006 15:04:05 -0700" // RFC1123 with numeric zone
RFC3339 = "2006-01-02T15:04:05Z07:00"
RFC3339Nano = "2006-01-02T15:04:05.999999999Z07:00"
Kitchen = "3:04PM"
// Handy time stamps.
Stamp = "Jan _2 15:04:05"
StampMilli = "Jan _2 15:04:05.000"
StampMicro = "Jan _2 15:04:05.000000"
StampNano = "Jan _2 15:04:05.000000000"
還有一個函數叫做:time.Parse(layout, value string) (Time, error) 如果輸入時間不支持布局,error 不為零
比如說,我想支持 ANSIC 和 UnixDate,我可以執行以下操作:
t, err := time.Parse(time.ANSIC, inputTime)
if err == nil {
return t
}
t, err = time.Parse(time.UnixDate, inputTime)
if err == nil {
return t
}
顯然,代碼結構中的一些代碼優化可以在這里完成,但這將比使用正則表達式更有效。
希望這可以幫助。
- 1 回答
- 0 關注
- 101 瀏覽
添加回答
舉報