亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

找不到輸入時間的格式

找不到輸入時間的格式

Go
烙印99 2022-05-18 09:43:57
我正在創建一個 Go 應用程序,用戶可以在其中輸入任何格式的時間,如下所示:Default Layout:  2009-11-10 23:00:00 +0000 UTC m=+0.000000001US Layout:       November 10, 2009ISO Layout:      2020-02-10UNIX Time:       1581422196084有沒有辦法找出輸入時間的格式?我唯一能找到的是如何將時間從一種格式轉換為另一種格式,但是找不到現有的時間格式。我能想到的一種可能方法是為所有時間格式添加一個正則表達式。但是,在實現它之前,我想確保沒有 Go 方法。
查看完整描述

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

}

顯然,代碼結構中的一些代碼優化可以在這里完成,但這將比使用正則表達式更有效。


希望這可以幫助。


查看完整回答
反對 回復 2022-05-18
  • 1 回答
  • 0 關注
  • 101 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號