golang : convert milliseconds to time

huangapple go评论74阅读模式
英文:

golang : convert milliseconds to time

问题

我需要将毫秒转换为时间,而不考虑时区。以下是示例代码:

i := 1481462220
tm := time.Unix(i, 0)

目前,time.Unix 返回的时间是特定于我的机器时区的。因此,如果我更改机器的时区,它将返回不同的时间。我需要的是时间应该与机器的时区无关。

英文:

I need to convert milliseconds to time irrespective of time zone.
Below is sample code <br>

i := 1481462220
tm := time.Unix(i, 0)

Currently time.Unix returns time specific to my machine's zone. So, if I change time zone of my machine, it returns a different time. What I need is time should be same irrespective of time zone of machine.

答案1

得分: 3

根据GoDoc中的说明,time.Unix函数返回与给定的Unix时间相对应的本地时间,即自1970年1月1日UTC起的sec秒和nsec纳秒。

因此,为了在多台机器上获得相同的时间,您需要使用time.Time.UTC()将返回的本地时间转换为UTC时间。

所以在这种情况下,应该使用tm.UTC()

英文:

As per GoDoc time.Unix :

> Unix returns the local Time corresponding to the given Unix time, sec
> seconds and nsec nanoseconds since January 1, 1970 UTC.

Hence to get the same time across machines you need to convert the returned local time using time.Time.UTC()

So in this case it would be tm.UTC().

答案2

得分: 2

你可以使用tm.UTC()函数。UTC()函数会返回一个时区设置为UTC的tm对象。

英文:

You can use

tm.UTC()

UTC() returns tm with the location set to UTC.

huangapple
  • 本文由 发表于 2016年12月8日 18:29:54
  • 转载请务必保留本文链接:https://go.coder-hub.com/41037191.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定