問題 time.TimeのSubメソッドを利用すると、2つのtime.Time間のDurationを取得することが出来ます。 例えば↓なカンジで処理時間を計測したりします。 start := time.Now() (何か処理) elapsed := time.Now().Sub(start) fmt.Println(elapsed) このコード自体間違いではないですが、今回実行していて明らかに実際の経過時間を返していない事象に遭遇し、軽くハマりました。 9:02にスタートし9:10に終了しているのに、elapsedに 3m などと出力されたり。 startとnowも出力↓ start:2020-07-08 09:02:00.243095 +0900 JST m=+0.003321332 now:2020-07-08 09:10:25.388989 +0900 JST m=+222.3889