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 サイトの他の関連記事を参照してください。