大佬教程收集整理的这篇文章主要介绍了从 Go 中的时间减去 time.Duration,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
尝试ADDDATE:
package main
import (
"fmt"
"time"
)
func main() {
Now := time.Now()
fmt.Println("Now:", Now)
then := Now.AddDate(0, -1, 0)
fmt.Println("then:", then)
}
产生:
Now: 2009-11-10 23:00:00 +0000 UTC
then: 2009-10-10 23:00:00 +0000 UTC
为了回应 Thomas browne 的评论,因为lnmx 的答案仅适用于减去日期,这里是对他的代码的修改,用于从 time.Time 类型中减去时间。
package main
import (
"fmt"
"time"
)
func main() {
Now := time.Now()
fmt.Println("Now:", Now)
count := 10
then := Now.Add(time.Duration(-count) * time.minutE)
// if we had fix number of units to subtract, we can use following line instead fo above 2 lines. It does type convertion automatically.
// then := Now.Add(-10 * time.minutE)
fmt.Println("10 minutes ago:", then)
}
产生:
Now: 2009-11-10 23:00:00 +0000 UTC
10 minutes ago: 2009-11-10 22:50:00 +0000 UTC
更不用说,您还可以根据需要使用time.Hour
或time.Second
代替time.minute
。
我有一个time.Time
从中获得的值time.Now()
,我想再获得一次,也就是 1 个月前。
我知道可以使用time.Sub()
(需要另一个time.Time
)进行减法,但这会导致 a ,time.Duration
而我需要反过来。
以上是大佬教程为你收集整理的从 Go 中的时间减去 time.Duration全部内容,希望文章能够帮你解决从 Go 中的时间减去 time.Duration所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。