【问题标题】:Parse unix timestamp with decimal from float using time.Unix()?使用time.Unix()从浮点数解析带有小数的unix时间戳?
【发布时间】:2016-06-04 08:45:39
【问题描述】:

这很简单,但我找不到答案,并认为其他人可能有同样的问题。

我有一个浮点数形式的 Unix 时间戳,其中包括几分之一秒的十进制值。将此浮点数作为两个单独的整数传递给 time 包的 time.Unix(sec int64, nsec int64) 函数的转换因子是多少,而不会丢失小数精度?

【问题讨论】:

    标签: go time floating-point precision unix-timestamp


    【解决方案1】:
    sec, dec := math.Modf(timeFloat);
    time.Unix(int64(sec), int64(dec*(1e9)));
    

    【讨论】:

    • 10^9 是二元异或运算,而不是幂运算符。使用 1000000000 或仅使用 1e9
    • 哎呀!你是对的,固定的。感谢您的评论
    猜你喜欢
    • 2016-10-19
    • 2012-12-09
    • 1970-01-01
    • 2018-10-17
    • 1970-01-01
    • 2021-06-07
    • 1970-01-01
    • 2011-05-25
    • 2020-05-27
    相关资源
    最近更新 更多