英文:
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.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论