在go语言中用Time.Add()或Time.AddDate()函数减去时间来计算过去的日期
如何在Golang中计算过去的日期呢?
在go语言中有Time.Add()函数来计算未来的日期,却没有Minus()函数来计算过去的日期。
解决方案:
是的,Add这个词很有局限性;
但是,不要让Time.Add()函数的名字欺骗了你。
你仍然可以通过用负值加上现在来计算过去的日期。
如果Time.Add()过于繁琐。
你也可以使用Time.AddDate()函数。
代码示例:
package main
import (
"fmt"
"time"
)
func main() {
today := time.Now()
fmt.Println("今天是: ", today.Format("2006-01-02 03:04:00pm"))
// 减去1天
oneDay := time.Hour * -24
yesterday := today.Add(oneDay) // minus 1 day
fmt.Println("昨天是 : ", yesterday.Format("2006-01-02 03:04:00pm"))
//为了方便计算,使用AddDate()函数代替
sevenDaysAgo := today.AddDate(0, 0, -7) // minus 7 days
fmt.Println("七天前是 : ", sevenDaysAgo.Format("2006-01-02 03:04:00pm"))
oneYearAgo := today.AddDate(-1, 0, 0) // minus one year
fmt.Println("一年前是 : ", oneYearAgo.Format("2006-01-02 03:04:00pm"))
}
输出:
今天是 : 2023-03-15 01:08:00pm
昨天是 : 2023-03-14 01:08:00pm
七天前是 : 2023-03-07 01:08:00pm
一年前是:2022-03-15 01:08:00pm
相关文章