ホームページ > バックエンド開発 > Golang > time.Time を使用して Go で時差を計算しフォーマットする方法?

time.Time を使用して Go で時差を計算しフォーマットする方法?

Barbara Streisand
リリース: 2024-12-20 05:45:26
オリジナル
1023 人が閲覧しました

How to Calculate and Format Time Differences in Go using time.Time?

Go で time.Time を使用した時差の計算

Go では、2 つの time.Time オブジェクトの差を取得するのは、Sub を使用することで簡単です。 () 方法。 time.Sub() は time.Duration 値を返しますが、この値を時間、分、秒の観点から解釈するのは簡単です。

次のコード スニペットを考えてみましょう。

import (
    "fmt"
    "time"
)

func main() {
    // Create two time.Time objects
    t1 := time.Date(2016, 9, 9, 19, 9, 16, 0, time.UTC)
    t2 := time.Date(2016, 9, 9, 19, 9, 16, 0, time.UTC)

    // Use the Sub() method to get the time difference
    diff := t2.Sub(t1)

    // By default, a time.Duration value formats itself intelligently
    fmt.Println("Time difference:", diff)
}
ログイン後にコピー

出力:

Time difference: 0s
ログイン後にコピー

この例では、2 つの時間が同一であるため、差はゼロであり、次のようにフォーマットされます。 "0s".

"HH:mm:ss" などのより具体的な形式で時差を取得するには、time.Duration から time.Time 値を構築し、Format( ) メソッド。

    // Construct a time.Time value from the time difference
    out := time.Time{}.Add(diff)

    // Use the time.Time value's Format() method
    formattedDiff := out.Format("15:04:05")

    fmt.Println("Formatted time difference:", formattedDiff)
ログイン後にコピー

出力:

Formatted time difference: 00:00:00
ログイン後にコピー

このアプローチは 24 時間以内の時差にのみ適していることに注意してください。何時間も。日、月、年にわたる大幅な時差の場合は、より複雑な計算が必要になります。

以上がtime.Time を使用して Go で時差を計算しフォーマットする方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート