日期和时间的整个概念非常不稳定并且不断更新,因此从一开始它就是一项非常困难的任务。从闰年到闰秒,有很多变量需要考虑。
John Skeet 的图书馆看起来不错,但他花了 3 年的时间才做到这一点,而且还远非完美。
有人可以告诉我 Go 编程语言与其他语言/库相比如何处理 DateTime 的不同或相似之处吗?这纯粹是出于好奇。
这个问题更多地是关于当前可用库之间的异同——最好是英文的,而不是文档的页面和页面。
请参阅 Go时间包文档和源代码。ATime
表示具有纳秒精度的时间瞬间,没有闰秒。IANA 时区数据库用于时区和夏令时。时区数据库包含代表全球许多代表性位置的本地时间历史的代码和数据。它会定期更新,以反映政治机构对时区边界、UTC 偏移量和夏令时规则所做的更改。
type Time struct {
// sec gives the number of seconds elapsed since
// January 1, year 1 00:00:00 UTC.
sec int64
// nsec specifies a non-negative nanosecond
// offset within the second named by Seconds.
// It must be in the range [0, 999999999].
nsec int32
// loc specifies the Location that should be used to
// determine the minute, hour, month, day, and year
// that correspond to this Time.
// Only the zero Time has a nil Location.
// In that case it is interpreted to mean UTC.
loc *Location
}