3 回答
TA贡献1993条经验 获得超5个赞
将当前年份添加到解析字符串的结果中:
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贡献1875条经验 获得超5个赞
你可以通过使用方法默认为当前年份而不是0000,但它需要你做一些字符串转换,我已经创建了一个描述相同逻辑的代码: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贡献1871条经验 获得超13个赞
只需在解析后立即设置它即可。
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())
添加回答
举报