Skip to content

[DockerHub] use float64 instead of float32 for time fields #116

Open
@tom24d

Description

@tom24d

I consider this is not a bug, it's UX thing.

When I run simple golang:

type A struct{
	PushedAt float32 `json:"pushed_at"`
}

func main() {
	unixT := float32(1.5229495e+09)
	a := A{
		PushedAt: unixT,
	}
	b, _ := json.Marshal(a)
	var c A
	json.Unmarshal([]byte(b), &c)
	fmt.Printf("%+v\n", a)
	fmt.Printf("%+v\n", c)
	fmt.Printf("%d\n", int64(a.PushedAt))
}

then I got the output:

{PushedAt:1.5229495e+09}
{PushedAt:1.5229495e+09}
1522949504

You can see there is a diff when converting a.PushedAt into int64.
When I use this number with time.Unix(sec int64, nsec int64), this makes severe difference of the time.
If we use float64 then we can get right answer.

How about using float64 instead??
Any pointers would much be appreciated.

Regards,

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions