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