在go语言中用Time.Add()或Time.AddDate()函数减去时间来计算过去的日期

2023-06-01 00:00:00 函数 减去 中用

如何在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

相关文章