之前在做時間計算上被雷到了一下稍微做個紀錄,先列一下幾個常用的操作 此時我的需求是先將 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