golang time 時間的加減法
阿新 • • 發佈:2018-11-16
time包中的Add和Sub的用法,Add用於計算某個時間之前和之後的時間點,Sub用於計算兩個時間差
package main import ( "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)) }