golang 時間轉換的問題
阿新 • • 發佈:2017-08-06
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 時間轉換的問題