基本使用
func test1() {
// now 为time.Time Month为time.Month
t := time.Now()
fmt.Printf("t: %v\n", t)
// t: 2022-03-06 10:58:34.229841 +0800 CST m=+0.012645201
year := t.Year()
month := t.Month()
day := t.Day()
hour := t.Hour()
minute := t.Minute()
second := t.Second()
fmt.Printf("%d-%02d-%02d %02d-%02d-%02d\n", year, month, day, hour, minute, second)
// 2022-03-06 10-58-34
fmt.Printf("%T,%T,%T,%T,%T,%T,%T\n", t, year, month, day, hour, minute, second)
// time.Time,int,time.Month,int,int,int,int
}
时间戳
func test2() {
// 时间戳 到现在毫秒数
t := time.Now()
fmt.Printf("t.Unix(): %v\n", t.Unix())
fmt.Printf("t.Unix(): %T\n", t.Unix())
// 纳秒时间戳
fmt.Printf("t.UnixNano(): %v\n", t.UnixNano())
fmt.Printf("t.UnixNano(): %T\n", t.UnixNano())
}
时间戳转时间格式
func test3() {
timestamp := time.Now().Unix()
t := time.Unix(timestamp, 0) // 时间戳转时间格式
fmt.Printf("t: %v\n", t)
year := t.Year()
month := t.Month()
day := t.Day()
hour := t.Hour()
minute := t.Minute()
second := t.Second()
fmt.Printf("%d-%02d-%02d %02d-%02d-%02d\n", year, month, day, hour, minute, second)
}
时间格式化转化
func test4() {
t := time.Now()
now := t.Add(time.Hour * 3)
//now.Format 方法格式化
// 24小时
fmt.Println(now.Format("2006-01-02 15:04:05"))
// 12小时
fmt.Println(now.Format("2006-01-02 03:04:05 PM"))
fmt.Println(now.Format("2006/01/02 15:04:05"))
fmt.Println(now.Format("2006/01/02")) //年月日
fmt.Println(now.Format("15:04:05")) //时分秒
}
字符串解析时间格式
func test5() {
now := time.Now()
fmt.Printf("now: %v\n", now)
// 增加时区
l, err := time.LoadLocation("Asia/Shanghai")
if err != nil {
fmt.Printf("err: %v\n", err)
return
}
// 第一个参数2006-01-02 15:04:05
t, err2 := time.ParseInLocation("2006-01-02 15:04:05", "2022-03-06 11:38:30", l)
if err2 != nil {
fmt.Printf("err2: %v\n", err2)
}
fmt.Printf("t: %v\n", t)
}