time包
/*
用来输出时间和测量时间的作用
显示是公历 不是农历
*/
关于时间的查询
1 package main
2
3 func main() {
4
5 /*
6 //查看当前的本地时间
7 nowtime := time.Now()
8
9 //年月日
10 year := nowtime.Year() //2019
11 month := nowtime.Month() //November
12 y,m,d := nowtime.Date() //2019 November 20
13
14
15
16 //周月年中的第几天
17 day :=nowtime.Day() //20
18 yearday :=nowtime.YearDay() //324
19 weekday :=nowtime.Weekday() //Wednesday
20
21
22
23
24
25 //当前时间的时分秒
26 fmt.Println(nowtime.Hour()) //时 17
27 fmt.Println(nowtime.Minute()) //分 25
28 fmt.Println(nowtime.Second()) //秒 50
29 fmt.Println(nowtime.Nanosecond()) //纳秒 306058200
30
31
32
33
34 //创建时间
35 // func Date(year int, month Month, day, hour, min, sec, nsec int, loc *Location) Time {}
36 data :=time.Date(2019,time.November,20,12,30,0,0,time.Now().Location())
37 fmt.Println(data) //2019-11-20 12:30:00 +0800 CST
38 */
39
40
41
42
43 }
时间的换算
1 package main
2
3 import (
4 "fmt"
5 "time"
6 )
7
8 func main() {
9
10 /*
11 add方法和sub方法是相反的
12 获取t0和t1的时间距离d是使用sub
13 将t0加d获取t1就是使用add方法
14 */
15
16 now := time.Now()
17
18
19 //一天之前的时间 当天时间减去24小时是什么时候
20 //当前时间 叠加上 负一天 得到的是 一天之前的时间。
21 duration,_ := time.ParseDuration("-24h0m0s")
22 fmt.Println(now.Add(duration))
23
24
25 //一周之前
26 fmt.Println(now.Add(duration*7))
27
28
29 //一个月之前
30 fmt.Println(now.Add(duration*30))
31
32
33 //计算时间差
34 //sub 作用是减去 当前时间 减去 昨天 等于 时间差
35 fmt.Println("时间差=",now.Sub(now.Add(duration))) //时间差= 24h0m0s
36
37 //当前时间与定义的时间的时间差是多少
38 fmt.Println("时间差=",now.Sub(time.Date(2000,time.December,30,0,0,0,0,time.Now().Location())) ) //时间差= 165593h48m59.9222722s
39
40
41
42 }