计算时间差。时间对象
在 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小时以内的时差。但是,如果时间跨度多天或更长时间,请考虑使用适应较大时间差的解决方案,例如以下问题中提供的函数:
以上是如何计算和格式化两个 Go `time.Time` 对象之间的差异?的详细内容。更多信息请关注PHP中文网其他相关文章!