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

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

為什么 time.Add 方法不適用于 time.Time 格式為 time.RFC3339

為什么 time.Add 方法不適用于 time.Time 格式為 time.RFC3339

Go
慕桂英546537 2022-06-21 16:16:27
此代碼在格式時間中生成時間。RFC3339 在找到 24 時將小時更改為 00:00,然后應該增加日期,但是這不會發生。請分享想法:)package main    import (    "fmt"    "strings"    "time")var dConv time.Time //contains converted timevar timeErr errorfunc main() {    dateTime := "2020-01-01" + "T" + "24:00" + ":00Z"    if strings.Contains(dateTime, "T24") {        dateTime = strings.Replace(dateTime, "T24", "T00", 1)        dConv, timeErr = time.Parse(time.RFC3339, dateTime)        h := dConv        if timeErr == nil {            fmt.Println(h)            h.AddDate(0, 0, 1)            fmt.Println(h)        }    }}
查看完整描述

1 回答

?
POPMUISE

TA貢獻1765條經驗 獲得超5個贊

該time.Add()方法不會修改接收器時間,它不能因為它不是指針接收器。相反,它會返回time.Time您未分配給任何內容的結果,因此將其丟棄。


如果將其分配回h,您將看到結果增加了一天:


h = h.AddDate(0, 0, 1)

有了這個更改輸出將是(在Go Playground上嘗試):


2020-01-01 00:00:00 +0000 UTC

2020-01-02 00:00:00 +0000 UTC


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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