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

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

如何计算这两个日期之间差了多少天啊。求教

阅读 23.5k
3 个回答

这就需要使用 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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题