首頁 >後端開發 >Golang >如何計算和格式化兩個 Go `time.Time` 物件之間的差異?

如何計算和格式化兩個 Go `time.Time` 物件之間的差異?

DDD
DDD原創
2024-12-20 20:07:10658瀏覽

How Can I Calculate and Format the Difference Between Two Go `time.Time` Objects?

計算時間差。時間物件

在 Go 程式設計中,表示時間點至關重要。 time.Time 類型提供了操作與時間相關的值的功能。一項常見任務是計算兩個時間點之間的差異。

要取得兩個 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 值並使用其 Time。 Format()方法:

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

輸出:

00:05:41

這種方法適合24小時以內的時差。但是,如果時間跨度多天或更長時間,請考慮使用適應較大時間差的解決方案,例如以下問題中提供的函數:

  • golang time.Since() 包含月份和年份

以上是如何計算和格式化兩個 Go `time.Time` 物件之間的差異?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn