1. 4.1 主要类型概述
time 包提供了时间的显示和计量用的功能。日历的计算采用的是公历。提供的主要类型如下:
1.1. Location
代表一个地区,并表示该地区所在的时区(可能多个)。Location
通常代表地理位置的偏移,比如 CEST 和 CET 表示中欧。下一节将详细讲解 Location。
1.2. Time
代表一个纳秒精度的时间点,是公历时间。后面会详细介绍。
1.3. Duration
代表两个时间点之间经过的时间,以纳秒为单位。可表示的最长时间段大约290年,也就是说如果两个时间点相差超过 290 年,会返回 290 年,也就是 minDuration(-1 << 63) 或 maxDuration(1 << 63 - 1)。
类型定义:type Duration int64
。
将 Duration
类型直接输出时,因为实现了 fmt.Stringer
接口,会输出人类友好的可读形式,如:72h3m0.5s。
1.4. Timer 和 Ticker
这是定时器相关类型。本章最后会讨论定时器。
1.5. Weekday 和 Month
这两个类型的原始类型都是 int,定义它们,语义更明确,同时,实现 fmt.Stringer
接口,方便输出。