ホームページ >バックエンド開発 >Golang >Go で 2 つの時間インスタンスの差を計算するにはどうすればよいですか?

Go で 2 つの時間インスタンスの差を計算するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-09 04:56:09219ブラウズ

How to Calculate the Difference Between Two Time Instances in Go?

時差の決定

time.Time インスタンスが 2 つあり、それらの差を時、分、秒で計算する必要があります。次のシナリオを考えてみましょう。

  • t1 = "2016-09-09 19:09:16 0530 IST"
    t2 = "2016-09-09 19:09:16 0530 IST"
    (結果: 00:00:00)
  • t1 = "2016-09-14 14:12:48 0530 IST"
    t2 = "2016-09-14 14:18:29 0530 IST"
    (結果: 00:05:41)

差を計算するには、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 値を構築し、その Time.Format() を使用します。メソッド:

out := time.Time{}.Add(diff)
fmt.Println(out.Format("15:04:05"))

出力:

00:05:41

これは 24 時間未満の時差に対して機能します。差が大きい場合は、日、月、年を含む解決策の使用を検討してください。

以上がGo で 2 つの時間インスタンスの差を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。