时间以秒为单位

时间:2018-02-08 13:22:07

标签: go time

我有以下函数计算自startTime以来的时间,正常运行时间:time.Since(startTime).String()

返回时间如下:

"uptime": "3m54.26744075s"

如何将时间转换为秒,如下所示:

"uptime": "123456789"

1 个答案:

答案 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