time 包为我们提供了一个数据类型 time.Time(作为值使用)以及显示和测量时间和日期的功能函数。
time.Now() :获取当前时间可以
t.Day()、t.Minute() :获取时间的一部分;
自定义时间格式化字符串: fmt.Printf("%02d.%02d.%4d\n", t.Day(), t.Month(), t.Year()) 将会输出 21.07.2011。
Duration 类型表示两个连续时刻所相差的纳秒数,类型为 int64。Location 类型映射某个时区的时间
UTC:通用协调世界时间。
func (t Time) Format(layout string) string:根据一个格式化字符串来将一个时间 t 转换为相应格式的字符串。可以使用一些预定义的格式,如:time.ANSIC 或 time.RFC822。
package main
import (
"fmt"
"time"
)
var week time.Duration
func main() {
t := time.Now()
fmt.Println(t)//2021-06-13 18:53:20.5313937 +0800 CST m=+0.003032501
fmt.Printf("%02d.%02d.%4d\n",t.Day(),t.Month(),t.Year())//13.06.2021
t = time.Now().UTC()
fmt.Println(t) //2021-06-13 10:54:25.3418691 +0000 UTC
fmt.Println(time.Now()) //2021-06-13 18:54:25.3418691 +0800 CST m=+0.017962701
week = 60 * 60 * 24 * 7 * 1e9
week_from_now := t.Add(time.Duration(week))
fmt.Println(week_from_now) //2021-06-20 10:54:25.3418691 +0000 UTC
fmt.Println(t.Format(time.ANSIC)) //Sun Jun 13 10:54:25 2021
fmt.Println(t.Format(time.RFC822)) //13 Jun 21 10:54 UTC
fmt.Println(t.Format("02 Jan 2021 06:11")) //13 Jun 13136 21:66
s := t.Format("20210102")
fmt.Println(t, "=>", s) //2021-06-13 10:54:25.3418691 +0000 UTC => 131360613
}