如何不舍入持续时间

问题描述 投票:0回答:2

我正在尝试计时一个进程的执行时间,我需要以秒为单位的值。

package main

import (
    "fmt"
    "time"
)

func main() {
    startTime := time.Now()
    time.Sleep(1379 * time.Millisecond)

    elapsedTime := time.Since(startTime)
    fmt.Println(elapsedTime) //->1.379s

    secs := float64(elapsedTime / time.Second)
    fmt.Println(secs)//->1
    //desired output is: 1.379
}

我正在寻找一种不浪费时间的方法。这是操场:https://play.golang.org/p/VLgKTpmkHPS

go time duration
2个回答
5
投票

只需使用Seconds()方法:

package main

import (
    "fmt"
    "time"
)

func main() {
    elapsedTime := 1379 * time.Millisecond
    fmt.Println(elapsedTime) //->1.379s

    secs := elapsedTime.Seconds()
    fmt.Println(secs)
}

playground


0
投票

Epoc时间,将时间转换为秒数

更新:下面的代码有效吗?

package main

import (
    "fmt"
    "time"
)

func main() {
    startTime := time.Now()
    nanos := startTime.Unix()
    // fmt.Println(startTime)
    millis := nanos / 1000000
    elapsedInsecondsT := float64(millis)/float64(1000)
    fmt.Println( millis, elapsedInsecondsT )
}

礼貌:https://gobyexample.com/epoch

© www.soinside.com 2019 - 2024. All rights reserved.