时间单位表示为一个长浮点数,它是什么?

Time unit expressed as a long float, what is it?

我正在联系一个API那returns一系列的信息。其中之一,应该是我认为的时间单位,并以一种奇怪的方式表达:

{
        "arrivalTime": 0.22916666666666746,
        "stopTimeDelta": 0.0138888888888889,
        "startTime": 0.24305555555555636
}

有人见过这样的东西吗?我真的不需要为我的项目使用这些日期,所以这就是为什么我懒得联系他们,这是另一家没有与开发团队直接渠道的公司。但是我真的很好奇这个。

正如 @phuzi 在评论中所建议的那样,这是小数天。所以,1 是 24 小时,0.25 是早上 6 点等等。

这是一个小函数,它将在给定小数单位的情况下生成 Go 时间实例。

Go Playground

func calculateTime(number float64) time.Time {
    today := time.Date(time.Now().Year(), time.Now().Month(), time.Now().Day(), 0, 0, 0, 0, time.UTC)
    hour := number * 24
    minutes := (hour * 1440) / 24
    tm := today.Add(time.Duration(minutes) * time.Minute)

    return tm
}