我有以下函数计算自startTime
以来的时间,正常运行时间:time.Since(startTime).String()
。
返回时间如下:
"uptime": "3m54.26744075s"
如何将时间转换为秒,如下所示:
"uptime": "123456789"
答案 0 :(得分:7)
time.Since()
会返回time.Duration
类型的值,其值为Duration.Seconds()
,只需使用:
secs := time.Since(startTime).Seconds()
这将是float64
类型。如果您不需要分数部分,只需将其转换为int
,例如int(secs)
。或者,您可以将time.Duration
值除以time.Second
(这是一秒内的纳秒数),您将立即获得整数秒值:
secs := int(time.Since(startTime) / time.Second)
(请注意,最后一个示例中的int
转换不是为了删除小数部分,因为这已经是整数除法,而是将结果作为类型{{{1}的值。 1}}而不是int
。)
另请参阅相关问题:Conversion of time.Duration type microseconds value to milliseconds