我有一个 time.Time
从 time.Now()
获得的值,我想得到另一个时间,正好是 1 个月前。
我知道可以使用 time.Sub()
进行减法(这需要另一个 time.Time
),但这将导致 time.Duration
我需要它。
原文由 Martijn van Maasakkers 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个 time.Time
从 time.Now()
获得的值,我想得到另一个时间,正好是 1 个月前。
我知道可以使用 time.Sub()
进行减法(这需要另一个 time.Time
),但这将导致 time.Duration
我需要它。
原文由 Martijn van Maasakkers 发布,翻译遵循 CC BY-SA 4.0 许可协议
作为对 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
。
游乐场:https: //play.golang.org/p/DzzH4SA3izp
原文由 cchio 发布,翻译遵循 CC BY-SA 3.0 许可协议
7 回答5.3k 阅读
6 回答6.8k 阅读✓ 已解决
4 回答2.3k 阅读
1 回答3.4k 阅读
2 回答935 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.3k 阅读
尝试 添加日期:
生产:
游乐场: http ://play.golang.org/p/QChq02kisT