当前位置: 代码迷 >> 综合 >> Go - time包,计算相差天数 计算日期为当前年的第几周
  详细解决方案

Go - time包,计算相差天数 计算日期为当前年的第几周

热度:13   发布时间:2024-02-20 17:38:37.0

计算两个日期相差天数:time.Sub()

计算日期为当前年的第几周:ISOWeek()方法

package mainimport ("fmt""time"
)// 计算时间差(天数)
func SubDays(t1, t2 time.Time) (day int) {day = int(t1.Sub(t2).Hours() / 24)return
}func main() {// (1) time.Sub() - 计算两个time类型日期相差天数:timeFormat := "2006-01-02 15:04:05"								        // 默认转换日期格式beginTime, err := time.Parse(timeFormat, "2020-09-08 13:47:59")	        // string -> timeif err != nil {fmt.Println("time.Parse error")}endTime, err := time.Parse(timeFormat, "2020-09-18 13:47:59")	        // string -> timeif err != nil {fmt.Println("time.Parse error")}subDays := SubDays(endTime, beginTime)									// 参数1:结束日期:	参数2:开始靠前fmt.Println("相差天数1 = ", subDays)subDays1 := SubDays(time.Now(), beginTime)								// time.Now() 当前日期fmt.Println("相差天数2 = ", subDays1)// (2) time包的ISOWeek()方法 - 根据提供日期计算当前是一年中的第几周,常用在数据库按周分表的场景下:year, week := beginTime.ISOWeek()										// time类型对象专用方法:ISOWeek()fmt.Printf("%d年第%d周\n", year, week)
}

 

  相关解决方案