1, 比较两个时间大小
先把要比较的时间转换为相同格式的时间
time1 := "2015-03-20 08:50:29"
time2 := "2015-03-21 09:04:25"
t1, err := time.Parse("2006-01-02 15:04:05", time1)
t2, err := time.Parse("2006-01-02 15:04:05", time2)
if err == nil && t1.Before(t2) {
//处理逻辑
fmt.Println("true")
}
year2000 := time.Date(2000, 1, 1, 0, 0, 0, 0, time.UTC)
year3000 := time.Date(3000, 1, 1, 0, 0, 0, 0, time.UTC)
isYear2000BeforeYear3000 := year2000.Before(year3000) // True
isYear3000BeforeYear2000 := year3000.Before(year2000) // False
fmt.Printf("year2000.Before(year3000) = %v\n", isYear2000BeforeYear3000)
fmt.Printf("year3000.Before(year2000) = %v\n", isYear3000BeforeYear2000)
year2000.Before(year3000) = true
year3000.Before(year2000) = false
2,对目标时间进行加
time包中的Add和Sub的用法
start := time.Date(2000, 1, 1, 0, 0, 0, 0, time.UTC)
end := time.Date(2000, 1, 1, 12, 0, 0, 0, time.UTC)
difference := end.Sub(start)
fmt.Printf("difference = %v\n", difference)
Output:
difference = 12h0m0s
详情请查看 golang time 包的官方文档: