這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
time包中的Add和Sub的用法,Add用於計算某個時間之前和之後的時間點,Sub用於計算兩個時間差
package mainimport ("fmt""strings""time")func main() {// Add 時間相加now := time.Now()// ParseDuration parses a duration string.// A duration string is a possibly signed sequence of decimal numbers,// each with optional fraction and a unit suffix,// such as "300ms", "-1.5h" or "2h45m".// Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".// 10分鐘前m, _ := time.ParseDuration("-1m")m1 := now.Add(m)fmt.Println(m1)// 8個小時前h, _ := time.ParseDuration("-1h")h1 := now.Add(8 * h)fmt.Println(h1)// 一天前d, _ := time.ParseDuration("-24h")d1 := now.Add(d)fmt.Println(d1)printSplit(50)// 10分鐘後mm, _ := time.ParseDuration("1m")mm1 := now.Add(mm)fmt.Println(mm1)// 8小時後hh, _ := time.ParseDuration("1h")hh1 := now.Add(hh)fmt.Println(hh1)// 一天后dd, _ := time.ParseDuration("24h")dd1 := now.Add(dd)fmt.Println(dd1)printSplit(50)// Sub 計算兩個時間差subM := now.Sub(m1)fmt.Println(subM.Minutes(), "分鐘")sumH := now.Sub(h1)fmt.Println(sumH.Hours(), "小時")sumD := now.Sub(d1)fmt.Printf("%v 天\n", sumD.Hours()/24)}func printSplit(count int) {fmt.Println(strings.Repeat("#", count))}