Skip to content

time

处理 时间点、时间间隔、定时、超时、格式化、解析、时区

now

go
now := time.Now()

now.Year()
now.Month()
now.Day()
now.Hour()

带时区信息

所有操作返回新值(不可变)

单位

go
var d time.Duration = 2 * time.Second
time.Nanosecond
time.Microsecond
time.Millisecond
time.Second
time.Minute
time.Hour

时间运算

go
t := time.Now()

t2 := t.Add(2 * time.Hour)
t3 := t.AddDate(0, 1, 0) // +1 个月

t.Before(t2)
t.After(t2)
t.Equal(t2)

时间format

go 的时间格式是固定的,必须是2006-01-02 15:04:05

go
now := time.Now()
s := now.Format("2006-01-02 15:04:05")

不用死背,有变量

DateTime   = "2006-01-02 15:04:05"
DateOnly   = "2006-01-02"
TimeOnly   = "15:04:05"
go
time.Now().Format(time.DateTime)

时区

go
loc, _ := time.LoadLocation("Asia/Shanghai")
t := time.Now().In(loc)
go
time.Now().UTC()