Golang Time Package

Chung-chun Lo
Skyler Record
Published in
Jan 15, 2021

之前在做時間計算上被雷到了一下稍微做個紀錄,先列一下幾個常用的操作

此時我的需求是先將 String 轉換成 time 在將轉換過的時間與當前時間做時間差的計算。

$ -7h54m6.021959673s

計算出來差距快八個小時!?

研究一下才發現在 Golang 裡使用 time.Now() ,Go 會預設使用本機的時區但是如果使用 Parse() 的話則會自動採用 UTC 時區,也因為這樣導致計算的時間差會有錯誤。

$ 2021-01-15 11:05:58.519811015 +0800 CST 
$ 2021-01-15 11:00:58.519811 +0000 UTC nil

如何解決?

這裡只要採用 ParseInLocation 在轉換的時候帶入時區就可以拉

$ 5m0.000000405s

--

--