go 语言中使用time.Time表示时间。我们可以通过time.Now函数获取当前的时间对象,然后从时间对象中可以获取到年、月、日、时、分、秒等信息。

time 包中定义的时间间隔类型的常量如下:

例如:time.Hour表示1小时,time.Second表示1秒。

1h0m0s

判断两个时间是否相同,会考虑时区的影响,因此不同时区标准的时间也可以正确比较。本方法和用t==u不同,这种方法还会比较地点和时区信息。

如果t代表的时间点在u之前,返回真;否则返回假。

如果t代表的时间点在u之后,返回真;否则返回假。

time.Format函数能够将一个时间对象格式化输出为指定布局的文本表示形式,需要注意的是 Go 语言中时间格式化的布局不是常见的Y-m-d H:M:S,而是使用 2006-01-02 15:04:05.000

如果想格式化为12小时格式,需在格式化布局中添加PM。

小数部分想保留指定位数就写0,如果想省略末尾可能的0就写 9。

对于从文本的时间表示中解析出时间对象,time包中提供了time.Parse和time.ParseInLocation两个函数。

time.Parse在解析时不需要额外指定时区信息。

time.ParseInLocation函数需要在解析时额外指定时区信息。