golang入門time與string轉換, time加減時間, 兩個時間差

package mainimport (   "fmt"   "time")var timeLayoutStr = "2006-01-02 15:04:05" //go中的時間格式化必須是這個時間//var timeLayoutStr = 2006/01/02 03:04:05 //合法, 格式能夠改變//var timeLayoutStr = 2019/01/02 15:04:05 //不合法, 時間必須是2016年1月2號這個時間func testFormat()  {   t := time.Now() //當前時間   t.Unix() //時間戳   ts := t.Format(timeLayoutStr) //time轉string   fmt.Println(ts)   st, _ := time.Parse(timeLayoutStr, ts) //string轉time   fmt.Println(st)   //在go中, 能夠格式化一個帶先後綴的時間字符串   prefixTStr := "PREFIX-- 2019-01-01 -TEST- 10:31:12 --SUFFIX" //帶先後綴的時間字符串   preTimeLayoutStr := "PREFIX-- 2006-01-02 -TEST- 15:04:05 --SUFFIX" //須要轉換的時間格式, 格式和先後綴須要一致, 這種寫法的限制很大, 但一些特殊場景能夠用到   prefixTime, _ := time.Parse(preTimeLayoutStr, prefixTStr)   fmt.Println(prefixTime)   //時間加減 time.ParseDuration()   // such as "300ms", "-1.5h" or "2h45m".   // Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".   at, _ := time.ParseDuration("2h") //2個小時後的時間, 負數就是以前的時間   fmt.Println((t.Add(at)).Format(timeLayoutStr))   //兩個時間差   sub := t.Sub(prefixTime)   fmt.Println(sub.Seconds()) //秒,  sub.Minutes()分鐘,  sub.Hours()小時...}func main() {   testFormat()}
相關文章
相關標籤/搜索