golang如何计算两个日期之间的日期差? 日期格式:“2017-09-01” ,“2018-03-11”
这就需要使用 time
包了。
time 包有个函数 Parse
可以将时间字符串解析成 Time
对象,而 Time
对象有个 Sub
方法可以计算与某个时间的差,返回值是 Duration
对象,而 Duration
有一个 Hours
方法,除以 24 就是天数了
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