3 回答
TA貢獻(xiàn)1993條經(jīng)驗 獲得超6個贊
將當(dāng)前年份添加到解析字符串的結(jié)果中:
t, err := time.Parse("Today is Mon, Jan 2", "Today is Wed, Jun 30")
if err != nil {
log.Fatal(err)
}
t = t.AddDate(time.Now().Year(), 0, 0)
TA貢獻(xiàn)1875條經(jīng)驗 獲得超5個贊
你可以通過使用方法默認(rèn)為當(dāng)前年份而不是0000,但它需要你做一些字符串轉(zhuǎn)換,我已經(jīng)創(chuàng)建了一個描述相同邏輯的代碼:strings.Replace()
package main
import (
"fmt"
"log"
"strconv"
"strings"
"time"
)
func main() {
t, err := time.Parse("Today is Mon, Jan 2", "Today is Thu, Jul 1")
if err != nil {
log.Fatal(err)
}
fmt.Println("t ", t)
fmt.Println(time.Now())
year := time.Now().Year()
fmt.Println(strings.Replace(t.String(), "0000", strconv.Itoa(year), 1))
}
輸出:
t 0000-07-01 00:00:00 +0000 UTC
2009-11-10 23:00:00 +0000 UTC m=+0.000000001
2009-07-01 00:00:00 +0000 UTC
TA貢獻(xiàn)1871條經(jīng)驗 獲得超13個贊
只需在解析后立即設(shè)置它即可。
t, err := time.Parse("Today is Mon, Jan 2", "Today is Mon, Jan 2")
if err != nil {
panic(err)
}
t = time.Date(time.Now().Year(), t.Month(), t.Day(), t.Hour(), t.Minute(), t.Second(), t.Nanosecond(), t.Location())
添加回答
舉報
