package main import ( "fmt" "time" ) // 这个方法就是把加减时间值和时间整合到了一起而已 func CTime(t time.Time,time_str string) time.Time { time_part,err := time.ParseDuration(time_str) if err != nil { fmt.Println(err) return t } return t.Add(time_part) } func main() { k := time.Now() /*ParseDuration解析一个时间段字符串。一个时间段字符串是一个序列,每个片段包含可选的正负号、 十进制数、可选的小数部分和单位后缀,如"300ms"、"-1.5h"、"2h45m"。 合法的单位有"ns"纳秒,"us","µs"、"ms"毫秒、"s"秒、"m"分钟、"h"。*/ //定义一个负24小时 sd,_ := time.ParseDuration("-24h") //定义一个正24小时 ad,_ := time.ParseDuration("24h") // 负60分钟=1h sm,_ := time.ParseDuration("-60m") // 正3600秒=1h am,_ := time.ParseDuration("60m") // add是要计算加上某个正负时间长度 fmt.Println(k.Add(ad)) fmt.Println(k.Add(sd)) fmt.Println(k.Add(am)) fmt.Println(k.Add(sm)) // sub是要计算两个时间之间差 //fmt.Println(k.Sub(k.Add(ad))) //fmt.Println(k.Sub(k.Add(sd))) // * 7 就是多少天(ad和sd定义的正负24小时) //fmt.Println(k.Add(ad * 7)) //fmt.Println(k.Add(sd * 7)) fmt.Println(CTime(k,"240h")) }