GO计算两个日期之间的天数差

该博客介绍了一个Go语言实现的函数`GetDaysBetween2Date`,用于计算两个日期之间的天数差。函数接受日期格式和两个日期字符串作为参数,返回它们相差的整数天数。示例调用展示了不同日期格式下的正确使用和结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.实现方法

import (
	"time"
)

func GetDaysBetween2Date(format, date1Str, date2Str string) (int, error) {
  	// 将字符串转化为Time格式
	date1, err := time.ParseInLocation(format, date1Str, time.Local)
	if err != nil {
		return 0, err
	}
  	// 将字符串转化为Time格式
	date2, err := time.ParseInLocation(format, date2Str, time.Local)
	if err != nil {
		return 0, err
	}
	//计算相差天数
	return int(date1.Sub(date2).Hours() / 24), nil
}

format: 日期格式,比如"20060102",“2006-01-02”,Go语言日期格式只支持20060102这天的日期

date1Str:开始日期的字符串表示,格式需要与format一致

date2Str:结束日期的字符串表示,格式需要与format一致

2.方法调用

GetDaysBetween2Date("20060102", "20220613", "20220601") //结果为12
GetDaysBetween2Date("2006-01-02", "2022-06-13", "2022-06-01")  //结果为12