在使用time.Add()方法时,可以直接传入一个整数作为参数,如:
func main() {
t := time.Now()
fmt.Println(t)
t = t.Add(10 * time.Millisecond)
fmt.Println(t)
}
注意time.Add()方法会返回修改之后的时间,而不是直接在接收器上进行修改。
当想要用一个变量作为time.Add()方法的参数时,直接传入会报错:
func main() {
t := time.Now()
fmt.Println(t)
a := 10
// 报错:Cannot use 'a * time.Millisecond' (type int) as the type Duration
t = t.Add(a * time.Millisecond)
fmt.Println(t)
}
这时需要手动将变量a转换为time.Duration类型
func main() {
t := time.Now()
fmt.Println(t)
a := 10
// 正确
t = t.Add(time.Duration(a) * time.Millisecond)
fmt.Println(t)
}