一般在獲取到時間字符串,需要將時間字符串格式化為golang的"time.Time"對象的時候,通常有2個函數(shù),分別是。
time.Parse(layout, value string) (Time, error)
time.ParseInLocation(layout, value string, loc *Location) (Time, error)
兩個函數(shù)相比,不一樣的地方在于,Parse()函數(shù)解析的時候,會默為UTC時間,獲取的Time對象轉(zhuǎn)換為Unix()對象后,會比當前時間多8小時。
tm, err := time.Parse("2006-01-02T15:04:05Z", s) //轉(zhuǎn)換后的時間,如果再轉(zhuǎn)換為unix時間,需要-8小時
如果解析來源是GMT的時間的話,最好使用ParseInLocation(),并指定"*Location"為“time.Local”,比如:
tm, err = time.ParseInLocation("2006-01-02T15:04:05Z", s, time.Local) //轉(zhuǎn)換后的時間如果再轉(zhuǎn)換為unix時間,不需要處理。
以上這篇基于golang時間轉(zhuǎn)換的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- golang的時區(qū)和神奇的time.Parse的使用方法
- golang時間、時區(qū)、格式的使用方法
- 解決Golang time.Parse和time.Format的時區(qū)問題