确定时差
您有两个 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中如何计算两个时间实例之间的差异?的详细内容。更多信息请关注PHP中文网其他相关文章!