1. 程式人生 > >golang 時間轉換的問題

golang 時間轉換的問題

out value 獲取 時間 格式化 utc時間 layout val string

一般在獲取到時間字符串,需要將時間字符串格式化為golang的"time.Time"對象的時候,通常有2個函數,分別是。

  • time.Parse(layout, value string) (Time, error)
  • time.ParseInLocation(layout, value string, loc *Location) (Time, error)

兩個函數相比,不一樣的地方在於,Parse()函數解析的時候,會默為UTC時間,獲取的Time對象轉換為Unix()對象後,會比當前時間多8小時。

  • tm, err := time.Parse("2006-01-02T15:04:05Z", s) //轉換後的時間,如果再轉換為unix時間,需要-8小時

如果解析來源是GMT的時間的話,最好使用ParseInLocation(),並指定"*Location"為“time.Local”,比如:

  • tm, err = time.ParseInLocation("2006-01-02T15:04:05Z", s, time.Local) //轉換後的時間如果再轉換為unix時間,不需要處理。

golang 時間轉換的問題