Q1.如何从纳秒时间戳创建golang
time结构?
Q2.然后,我如何计算自此时间戳以来的小时数?
在Go中,“time”对象由结构类型
time.Time
的值表示.
您可以使用time.Unix(sec int64,nsec int64)
函数从纳秒时间戳创建时间,其中有效的nsec超出范围[0,999999999].
并且您可以使用time.Since(t Time)
函数将自指定时间以来经过的时间返回为time.Duration
(这基本上是以纳秒为单位的时间差).
t := time.Unix(0,yourTimestamp) elapsed := time.Since(t)
要获得以小时为单位的经过时间,只需使用Duration.Hours()
方法,该方法以小时为单位返回持续时间作为浮点数:
fmt.Printf("Elapsed time: %.2f hours",elapsed.Hours())
注意:
持续时间可以以“72h3m0.5s”的格式智能地格式化,在其String()
方法中实现:
fmt.Printf("Elapsed time: %s",elapsed)