标准库-time包

 

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 }

 

 

 

posted @ 2019-11-20 17:50  chaoyangxu  阅读(188)  评论(0编辑  收藏  举报