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

2022-09-28 10:18:39 浏览数 (1)

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

0 人点赞