为什么在Golang的time.Equal函数中没有位置信息的工作人员?

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

why no location staff in golang time.Equal?

问题

http://golang.org/src/pkg/time/time.go 中,

62	// Equal 判断 t 和 u 是否表示相同的时间点。
63	// 即使两个时间在不同的时区,它们也可以是相等的。
64	// 例如,6:00 +0200 CEST 和 4:00 UTC 是相等的。
65	// 这种比较与使用 t == u 不同,后者还会比较时区。
66	func (t Time) Equal(u Time) bool {
67		return t.sec == u.sec && t.nsec == u.nsec
68	}

为什么它们不关心 t.loc 和 u.loc?

更新:
如果我有两台服务器(位于不同的地点),如何判断它们的时间是否完全相等?

英文:

at http://golang.org/src/pkg/time/time.go

62	// Equal reports whether t and u represent the same time instant.
63	// Two times can be equal even if they are in different locations.
64	// For example, 6:00 +0200 CEST and 4:00 UTC are Equal.
65	// This comparison is different from using t == u, which also compares
66	// the locations.
67	func (t Time) Equal(u Time) bool {
68		return t.sec == u.sec && t.nsec == u.nsec
69	}

why they do not care t.loc and u.loc?

update:
If I had 2 servers(different location)and how can I judge if their time is equal exactly?

答案1

得分: 10

一个Time存储着一个UTC时间戳。这意味着它不依赖于位置。

时间6:00 +0200 CEST4:00 UTC在UTC上具有相同的值。它们是同一时刻。

位置仅用于本地化表示这个时间。

根据文档

> 以这种方式更改位置只会更改表示方式;它不会更改时间点。

英文:

a Time stores an UTC timestamp. Which means it isn't dependant of the location.

The times 6:00 +0200 CEST and 4:00 UTC have the same value UTC. They are the exact same moment in time.

The location is used only for localized representation of this time.

From the documentation :

> Changing the location in this way changes only the presentation; it does not change the instant in time

答案2

得分: 4

  • t.sec 返回自公元1年1月1日00:00:00 UTC以来经过的秒数。
  • n.nsec 指定了秒数中的非负纳秒偏移量。范围为[0, 999999999]。

这个UTC时间不依赖于地点。

英文:
  • t.sec gives the the number of seconds elapsed since January 1, year 1 00:00:00 UTC.
  • n.nsec specifies a non-negative nanosecond offset within the second named by Seconds. (range [0, 999999999])

That UTC time doesn't depend on location.

huangapple
  • 本文由 发表于 2012年10月12日 16:40:16
  • 转载请务必保留本文链接:https://go.coder-hub.com/12855264.html
匿名

发表评论

匿名网友

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

确定