我们经常需要比较两个时间的差值,在go语言当中,如果想要比较两个时间点的差值,可以采用下面的方式获取。
我们以当前时间为例,首先来获取当前时间。
now := time.now()
然后我们在来设置一下时区,避免因为时区的原因导致计算错误。
loc,err := time.LoadLocation("Asia/Shanghai")
if err != nil {
fmt.Println("时区设置错误",err)
return
}
LoadLocation() 方法会返回一个Location的指针,可以在后面用的到。
下一步是按照指定格式设置时间。
timeObj,err := time.ParseInLocation("2006-01-02 15:04:05", "2020-03-08 19:36:00", loc)
if err != nil {
fmt.Println("解析错误:",err)
return
}
第三个参数就是在上一步获取的Location指针对象。
最后再通过Sub()方法来计算两个时间点相差时间。
// 计算两个时间的间隔
ret := timeObj.Sub(now)
fmt.Println(ret)