第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

為什么JSON綁定中時(shí)間格式會(huì)發(fā)生變化?

為什么JSON綁定中時(shí)間格式會(huì)發(fā)生變化?

Go
拉丁的傳說 2022-08-24 20:20:33
我創(chuàng)建了一個(gè)結(jié)構(gòu),它包含兩個(gè)時(shí)間。時(shí)間格式的字段,以 json 標(biāo)記命名:start_time和end_time。type MyStruct struct {   StartTime  time.Time `json:"start_time"`   EndTime    time.Time `json:"end_time"`}當(dāng)我嘗試使用gin框架通過HTTP發(fā)送PUT請(qǐng)求以更新這些值時(shí),我發(fā)送的時(shí)間格式在發(fā)送的結(jié)構(gòu)中發(fā)生了變化。我發(fā)送的內(nèi)容:curl    -X  PUT   -H  'Content-Type: application/json'http://my_address -d '{"start_time": "2021-04-27T22:24:31Z","end_time": "2021-11-01T22:24:31Z"}'它接收的內(nèi)容:start_time="2021-04-27 22:24:31 +0000 UTC",end_time="2021-11-01 22:24:31 +0000 UTC",另一方面,我將結(jié)構(gòu)保存在沙發(fā)庫中,作為查詢的返回值,我正在發(fā)回文檔(我的結(jié)構(gòu)):我的查詢:Update BucketName as eset start_time="2021-04-27 22:24:31 +0000 UTC",end_time="2021-11-01 22:24:31 +0000 UTC" where ( my document equality condition)returning e并且它執(zhí)行時(shí)沒有錯(cuò)誤。當(dāng)我嘗試讀取返回的結(jié)構(gòu)時(shí),我的代碼來閱讀它:var s domain.MyStructSample //                                                                                                                   err = result.One(&s)    if err != nil {      if err == gocb.ErrNoResult {        return nil, errors.New("there is no result")      }      logger.ZSLogger.Errorf("error on update one item from my struct with error :%s", err)      return nil, err    }      gocb在這些時(shí)間項(xiàng)上生成錯(cuò)誤,這是錯(cuò)誤:"message":"error on update one item from my struct  with error :parsing time \"\"2021-11-01 22:24:31 +0000 UTC\"\" as \"\"2006-01-02T15:04:05Z07:00\"\": cannot parse \" 22:24:31 +0000 UTC\"\" as \"T\""}順便說一句,正如我所說,更新是在沒有錯(cuò)誤的情況下完成的(查詢執(zhí)行沒有錯(cuò)誤)。那么我該怎么辦?
查看完整描述

1 回答

?
絕地?zé)o雙

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊

您是如何生成此查詢的:


Update BucketName as e

set start_time="2021-04-27 22:24:31 +0000 UTC",

end_time="2021-11-01 22:24:31 +0000 UTC" where ( my document equality condition)

returning e

正如錯(cuò)誤所說,存儲(chǔ)在couchbase中的時(shí)間數(shù)據(jù)應(yīng)該采用RFC3339()格式,而不是默認(rèn)格式,所以也許你應(yīng)該用quer插入數(shù)據(jù):2006-01-02T15:04:05Z07:002006-01-02 15:04:05 -0700 MST


Update BucketName as e

set start_time="2021-04-27T22:24:31Z07:00",

end_time="2021-11-01T22:24:31Z07:00" where ( my document equality condition)

returning e

如果您在格式化時(shí)間時(shí)遇到問題,請(qǐng)閱讀文檔 https://golang.cafe/blog/golang-time-format-example.html


而且,正如@MrFuppes注釋的那樣,如果您需要自定義JSON輸出格式,請(qǐng)閱讀此如何在傳出JSON中格式化時(shí)間戳


查看完整回答
反對(duì) 回復(fù) 2022-08-24
  • 1 回答
  • 0 關(guān)注
  • 172 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)