我有一个以下函数,计算时间startTime,正常运行时间: time.Since(startTime).String().
返回时间如下:
"uptime": "3m54.26744075s"
Run Code Online (Sandbox Code Playgroud)
如何将时间转换为秒,如下所示:
"uptime": "123456789"
Run Code Online (Sandbox Code Playgroud)
time.Since()返回一个time.Duration具有Duration.Seconds()方法的类型的值,只需使用:
secs := time.Since(startTime).Seconds()
Run Code Online (Sandbox Code Playgroud)
这将是类型float64.如果您不需要分数部分,只需将其转换为int例如int(secs).或者,您可以将time.Duration值除以time.Second(这是一秒内的纳秒数),您将立即获得整数秒值:
secs := int(time.Since(startTime) / time.Second)
Run Code Online (Sandbox Code Playgroud)
(请注意,int最后一个示例中的转换不是为了删除小数部分,因为这已经是整数除法,而是将结果作为类型的值int而不是time.Duration.)
另请参阅相关问题:时间转换.持续时间类型微秒值到毫秒