time.Time オブジェクトによる時差の計算
Go を使用したプログラミングでは、時点を表すことが重要です。 time.Time 型は、時間関連の値を操作する機能を提供します。一般的なタスクの 1 つは、2 つの時点間の時間差を計算することです。
2 つの time.Time オブジェクト間の時間差を取得するには、time.Sub() メソッドを利用できます。結果は time.Duration 値として表されます。
time.Duration は、時差に対応する方法でそれ自体をフォーマットします。例:
package main import ( "fmt" "time" ) func main() { t1 := time.Now() t2 := t1.Add(time.Second * 341) fmt.Println(t1) fmt.Println(t2) diff := t2.Sub(t1) fmt.Println(diff) }
出力:
2009-11-10 23:00:00 +0000 UTC 2009-11-10 23:05:41 +0000 UTC 5m41s
HH:mm:ss 形式で時刻を取得したい場合は、time.Time 値を作成し、その時刻を使用できます。 Format() メソッド:
out := time.Time{}.Add(diff) fmt.Println(out.Format("15:04:05"))
出力:
00:05:41
これこのアプローチは、24 時間未満の時差に適しています。ただし、時間が複数日以上にわたる場合は、次の質問で提供されている関数など、より大きな時差に対応するソリューションの使用を検討してください:
以上が2 つの Go `time.Time` オブジェクトの差を計算してフォーマットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。