golang語言漸入佳境[28]-time包核心方法

time包核心方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
package main

import (
"time"
"fmt"
)

/*
//1、Now()返回當前本地時間

//2、Local()將時間轉成本地時區,但指向同一時間點的Time。

//3、UTC()將時間轉成UTC和零時區,但指向同一時間點的Time。

//4、Date()可以根據指定數值,返回一個本地或國際標準的時間格式。

//5、Parse()能將一個格式化的時間字符串解析成它所代表的時間。就是string轉time

//6、Format()根據指定的時間格式,將時間格式化成文本。就是time轉string

//7、String()將時間格式化成字符串,格式爲:"2006-01-02 15:04:05.999999999 -0700 MST"

//8、Unix()將t表示爲Unix時間(時間戳,一個int64整數),即從時間點January 1, 1970 UTC到時間點t所經過的時間(單位秒)。

//9、UnixNano()將t表示爲Unix時間(時間戳,一個int64整數),即從時間點January 1, 1970 UTC到時間點t所經過的時間(單位納秒)。

//10、Equal()判斷時間是否相等

//11、Before()如果t代表的時間點在u之前,返回真;否則返回假。

//12、After()如果t代表的時間點在u之後,返回真;否則返回假。

//13、Date()返回時間點對應的年、月、日信息

//14、Year()返回時間點對應的年的信息

//15、Month()返回時間點對應的月的信息

//16、Day()返回時間點對應的日的信息

//17、Weekday()返回時間點對應的星期的信息

//18、Clock()返回時間點對應的時、分、秒信息

//19、Hour()返回時間點對應的小時的信息

//20、Minute()返回時間點對應的分的信息

//21、Second()返回時間點對應的秒的信息

//22、Nanosecond()返回時間點對應的納秒的信息

//23、Sub()返回一個時間段t-u。

//24、Hours()將時間段表示爲float64類型的小時數。

//25、Minutes()將時間段表示爲float64類型的分鐘數。

//26、Seconds()將時間段表示爲float64類型的秒數。

//27、Nanoseconds()將時間段表示爲int64類型的納秒數,等價於int64(d)。

//28、String()返回時間段採用"72h3m0.5s"格式的字符串表示。

//29、ParseDuration解析一個時間段字符串。

//30、Add()返回時間點t+d。

//31、AddDate()返回增加了給出的年份、月份和天數的時間點Time。
*/
func main() {
time1 := time.Now()
testTime()
time2 := time.Now()
//計算函數執行時間
fmt.Println(time2.Sub(time1).Seconds())
}

func testTime() {
//1、Now()返回當前本地時間
t := time.Now()
fmt.Println("1、", t)

//2、Local()將時間轉成本地時區,但指向同一時間點的Time。
fmt.Println("2、", t.Local())

//3、UTC()將時間轉成UTC和零時區,但指向同一時間點的Time。
fmt.Println("3、", t.UTC())

//4、Date()可以根據指定數值,返回一個本地或國際標準的時間格式。
t = time.Date(2018, time.January, 1, 1, 1, 1, 0, time.Local)
fmt.Printf("4、本地時間%s , 國際統一時間:%s \n", t, t.UTC())

//5、Parse()能將一個格式化的時間字符串解析成它所代表的時間。就是string轉time
//預定義的ANSIC、UnixDate、RFC3339
//ANSIC       = "Mon Jan _2 15:04:05 2006"//1 1 2 3 4 5 6
t, _ = time.Parse("2006-01-02 15:04:05", "2018-07-19 05:47:13")
fmt.Println("5、", t)

//6、Format()根據指定的時間格式,將時間格式化成文本。就是time轉string
fmt.Println("6、" , time.Now().Format("2006-01-02 15:04:05"))

//7、String()將時間格式化成字符串,格式爲:"2006-01-02 15:04:05.999999999 -0700 MST"
fmt.Println("7、" , time.Now().String())

//8、Unix()將t表示爲Unix時間(時間戳,一個int64整數),即從時間點January 1, 1970 UTC到時間點t所經過的時間(單位秒)。
fmt.Println("8、" , time.Now().Unix())

//9、UnixNano()將t表示爲Unix時間(時間戳,一個int64整數),即從時間點January 1, 1970 UTC到時間點t所經過的時間(單位納秒)。
fmt.Println("9、" , time.Now().UnixNano())

//10、Equal()判斷時間是否相等
fmt.Println("10、" , t.Equal(time.Now()))

//11、Before()如果t代表的時間點在u之前,返回真;否則返回假。
fmt.Println("11、" , t.Before(time.Now()))

//12、After()如果t代表的時間點在u之後,返回真;否則返回假。
fmt.Println("12、" , t.After(time.Now()))

//13、Date()返回時間點對應的年、月、日信息
year , month , day := time.Now().Date()
fmt.Println("13、" , year , month ,day)

//14、Year()返回時間點對應的年的信息
fmt.Println("14、" , time.Now().Year())

//15、Month()返回時間點對應的月的信息
fmt.Println("15、" , time.Now().Month())

//16、Day()返回時間點對應的日的信息
fmt.Println("16、" , time.Now().Day())

//17、Weekday()返回時間點對應的星期的信息
fmt.Println("17、" , time.Now().Weekday())

//18、Clock()返回時間點對應的時、分、秒信息
hour , minute , second := time.Now().Clock()
fmt.Println("18、" , hour , minute , second)

//19、Hour()返回時間點對應的小時的信息
fmt.Println("19、" , time.Now().Hour())

//20、Minute()返回時間點對應的分的信息
fmt.Println("20、" , time.Now().Minute())

//21、Second()返回時間點對應的秒的信息
fmt.Println("21、" , time.Now().Second())

//22、Nanosecond()返回時間點對應的納秒的信息
fmt.Println("22、" , time.Now().Nanosecond())

//23、Sub()返回一個時間段t-u。
fmt.Println("23、" , time.Now().Sub(time.Now()))

//24、Hours()將時間段表示爲float64類型的小時數。
fmt.Println("24、" , time.Now().Sub(time.Now()).Hours())

//25、Minutes()將時間段表示爲float64類型的分鐘數。
fmt.Println("25、" , time.Now().Sub(time.Now()).Minutes())

//26、Seconds()將時間段表示爲float64類型的秒數。
fmt.Println("26、" , time.Now().Sub(time.Now()).Seconds())

//27、Nanoseconds()將時間段表示爲int64類型的納秒數,等價於int64(d)。
fmt.Println("27、" , time.Now().Sub(time.Now()).Nanoseconds())

//28、String()返回時間段採用"72h3m0.5s"格式的字符串表示。
fmt.Println("28、" , "時間間距:", t.Sub(time.Now()).String())

//29、ParseDuration解析一個時間段字符串。
d,_:=time.ParseDuration("1h30m")
fmt.Println("29、" , d)

//30、Add()返回時間點t+d。
fmt.Println("30、" , "交卷時間:" , time.Now().Add(d))

//31、AddDate()返回增加了給出的年份、月份和天數的時間點Time。
fmt.Println("31、" , "一年一個月零一天之後的日期:" , time.Now().AddDate(1,1,1))

}

image.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章