登录
首页 >  Golang >  Go问答

如何不舍入持续时间

来源:stackoverflow

时间:2024-04-20 11:36:36 294浏览 收藏

目前golang学习网上已经有很多关于Golang的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文《如何不舍入持续时间》,也希望能帮助到大家,如果阅读完后真的对你学习Golang有帮助,欢迎动动手指,评论留言并分享~

问题内容

我正在尝试对进程的执行进行计时,并且需要以秒为单位的值。

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


解决方案


只需使用Seconds()方法即可:

package main

import (
    "fmt"
    "time"
)

func main() {
    elapsedtime := 1379 * time.millisecond
    fmt.println(elapsedtime) //->1.379s

    secs := elapsedtime.seconds()
    fmt.println(secs)
}

playground

epoc time to 将时间转换为秒

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

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

到这里,我们也就讲完了《如何不舍入持续时间》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>