golang 時間轉換的問題


一般在獲取到時間字符串,需要將時間字符串格式化為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時間,不需要處理。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM