基於golang時間轉換的問題

NO IMAGE

一般在獲取到時間字串,需要將時間字串格式化為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時間轉換的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援指令碼之家。

您可能感興趣的文章:

go語言中時間戳格式化的方法