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

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

我應該如何從 API 獲取字符串日期時間并將其解組為

我應該如何從 API 獲取字符串日期時間并將其解組為

Go
慕姐8265434 2023-02-14 18:27:30
我用來gin context獲取 json 數據并將其轉換為struct,它工作正常。但是我遇到的問題是用作time.Time其中一種字段類型:type User struct {    CreatedAt  time.Time `json:"created_at"`}在gin我使用ShouldBind:  var user User  if err := c.ShouldBind(&user); err != nil {        c.JSON(200, g.H{})        return  }我得到的錯誤是:parsing time "2019-01-01T00:00:00" as "2006-01-02T15:04:05Z07:00": cannot parse "" as "Z07:00"似乎需要時區段。我也給出了Z00:00但再次出現解析錯誤。我如何才能datetime像“2022-01-01 20:00:00”一樣將其轉換為time.TimeGo 甚至時區?
查看完整描述

1 回答

?
子衿沉夜

TA貢獻1828條經驗 獲得超3個贊

func HandleTime(c *gin.Context) {

    type User struct {

        CreatedAt time.Time `json:"created_at" binding:"required" time_format:"2006-01-02T15:04:05Z07:00"`

    }

    var user User

    fmt.Println(user.CreatedAt.String())

    if err := c.ShouldBindJSON(&user); err != nil {

        fmt.Println(err)

        return

    }

    c.JSON(200, gin.H{

        "created": user.CreatedAt.String(),

    })

}

curl -X POST 'http://127.0.0.1:8092/${YOUR_PATH}' \

-H 'Content-Type: application/json' -d '{

    "created_at": "2019-01-01T01:00:09+08:00"

}'

回復:


{

    "created": "2019-01-01 01:00:09 +0800 CST"

}

在 go 文檔中查看:https://pkg.go.dev/[email protected]#example-Parse


例如,RFC3339布局 2006-01-02T15:04:05Z07:00 包含 Z 和時區偏移量,以便處理兩個有效選項:


2006-01-02T15:04:05Z

2006-01-02T15:04:05+07:00。


查看完整回答
反對 回復 2023-02-14
  • 1 回答
  • 0 關注
  • 141 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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