Golang标准库学习 - Time
time
包提供了时间和日历的相关的函数与方法
主要类型
- Location:代表一个地区,并表示该地区所在的时区(可能多个)
- Time:代表一个纳秒精度的时间点,是公历时间。
- Duration:代表两个时间点之间经过的时间,以纳秒为单位。可表示的最长时间段大约 290 年。
- Timer 和 Ticker
- Weekday 和 Month
当前时间操作
方法 | 描述 |
---|---|
func Now() Time | Now返回当前本地时间。 |
func (t Time) Unix() int64 | 返回一个时间戳 |
func (t Time) Format(layout string) string | Format根据layout指定的格式返回t代表的时间点的格式化文本表示2006-01-02 15:04:05 |
1 | // 1. 获取当前时间 |
时间转换
方法 | 描述 |
---|---|
func Unix(sec int64, nsec int64) Time | Unix创建一个本地时间,对应sec和nsec表示的Unix时间 |
func Parse(layout, value string) (Time, error) | 解析一个格式化的时间字符串并返回它代表的时间 |
1 | // 1. 时间戳转时间 |
时间比较
方法 | 描述 |
---|---|
func (t Time) Equal(u Time) bool | 判断时间是否相同,会考虑时区和地区 |
func (t Time) Before(u Time) bool | t代表的时间点在u之前,返回真;否则返回假 |
func (t Time) After(u Time) bool | t代表的时间点在u之后,返回真;否则返回假。 |
1 | d1 := "2022-12-03 12:01:02" |
其他常用方法
方法 | 描述 |
---|---|
func (t Time) Date() (year int, month Month, day int) | 回时间点t对应的年、月、日 |
func (t Time) Clock() (hour, min, sec int) | 返回t对应的那一天的时、分、秒。 |
func (t Time) Year() int | 返回时间点t对应的年份。 |
func (t Time) Month() Month | 返回时间点t对应那一年的第几月。 |
func (t Time) Day() int | 返回时间点t对应那一月的第几日。 |
func (t Time) YearDay() int | 返回时间点t对应的那一年的第几天,平年的返回值范围[1,365],闰年[1,366]。 |
func (t Time) Weekday() Weekday | 返回时间点t对应的那一周的周几。 |
func (t Time) Hour() int | 返回t对应的那一天的第几小时,范围[0, 23]。 |
func (t Time) Minute() int | 返回t对应的那一小时的第几分种,范围[0, 59]。 |
func (t Time) Second() int | 返回t对应的那一分钟的第几秒,范围[0, 59]。 |