golang如何计算两个日期之间的日期差?

golang如何计算两个日期之间的日期差? 日期格式:“2017-09-01” ,“2018-03-11”

这就需要使用 time 包了。

time 包有个函数 Parse 可以将时间字符串解析成 Time 对象,而 Time 对象有个 Sub 方法可以计算与某个时间的差,返回值是 Duration 对象,而 Duration 有一个 Hours 方法,除以 24 就是天数了

代码语言:javascript
复制
package main

import (
"fmt"
"time"
)

func main() {
a, _ := time.Parse("2006-01-02", "2017-09-01")
b, _ := time.Parse("2006-01-02", "2018-03-11")
d := a.Sub(b)

fmt.Println(d.Hours() / 24)

}

解析两个日期,然后把两个日期的时间都设为0点0分0秒,然后两个日期相减,得出的duration差额除以86400 * time.Second