使用Time.Time 物件計算時間差
在Golang 中,使用Time 可以輕鬆取得兩個time.Time 物件之間的時間差異.Sub() 函數。此操作的結果是 time.Duration 值。
預設情況下,持續時間會智慧格式化,如下例所示:
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
對於短於一天的持續時間,您可以使用Time.Time 物件建構函式和Time.Format() 方法來取得HH:mm:ss格式:
out := time.Time{}.Add(diff) fmt.Println(out.Format("15:04:05"))
輸出:
00:05:41
請注意,此方法僅適用於 24 小時內的時差。對於較大的差異,您可能需要考慮更複雜的解決方案,如以下相關主題所述:
[golang time.Since() 包含月份和年份](https://github.com /golang/go /問題/17461)
以上是如何在 Go 中有效計算和格式化兩個 time.Time 物件之間的時間差?的詳細內容。更多資訊請關注PHP中文網其他相關文章!