当前位置:网站首页>[go ~ 0 to 1] obtain timestamp, time comparison, time format conversion, sleep and timer on the seventh day
[go ~ 0 to 1] obtain timestamp, time comparison, time format conversion, sleep and timer on the seventh day
2022-07-07 08:15:00 【Autumn sunset】
1. Time stamp
1.1 Get the current timestamp
Time stamp means 1970 year 1 month 1 Japan 0 when 0 branch To the present Millisecond value
// Get the timestamp
func getTimeStamp() {
now := time.Now()
unix := now.Unix()
fmt.Println(unix)
}
1.2 Timestamp conversion
now := time.Now()
// now Is the return value
unix := now.Unix()
fmt.Println(unix)
// Convert timestamps to time
// time It's a bag Unix It's the method name
t := time.Unix(unix, 0)
fmt.Println(t)
2. Time plus minus , Compare
2.1 Get the current time year month Japan
// Get the current time
now := time.Now()
fmt.Println(now)
// Get current year
year := now.Year()
// Get the current month
month := now.Month()
// Get current day
day := now.Day()
// Get the current hour
hour := now.Hour()
// Get the current minute
minute := now.Minute()
// Get the current second
second := now.Second()
fmt.Printf(" The current time is %d year %d month %d Japan %d when %d branch %d second ", year, month, day, hour, minute, second)
2.2 Add the time
// Get the current time
now := time.Now()
// The current time plus 1.5 Hours = 1 Hours 30 minute
duration := time.Duration(time.Hour + time.Duration(30)*time.Minute)
add := now.Add(duration)
fmt.Println(add)
2.3 Calculate the time interval
// Calculation 2018 year 8 month 8 Japan To 1999 year 8 month 8 The time interval between days
// East eight
location, _ := time.LoadLocation("Asia/Shanghai")
new := time.Date(2018, 8, 8, 0, 0, 0, 0, location)
old := time.Date(1999, 8, 8, 0, 0, 0, 0, location)
sub := new.Sub(old)
fmt.Println(sub)
2.4 Judge whether the time is before Before
// Get the current time
now := time.Now()
// Subtract... From the current time 30 minute Note that Minus sign
duration := time.Minute * 30
old := now.Add(-duration)
// Judge old Whether in new Before
flag := old.Before(now)
fmt.Println(flag) // Output results true
2.5 Judge whether the current time is later After
// Get the current time
now := time.Now()
// current time Extra day
add := now.Add(time.Duration(time.Hour) * 24)
// Judge add Whether in now after
println(add.After(now)) // true
3. Sleep And Timer
3.1 Sleep
fmt.Println(" Sleep 5 second ", time.Now().Second())
// The program sleeps here 5 second
time.Sleep(time.Second * 5)
fmt.Println(" End of sleep ", time.Now().Second())
3.2 Timer
num := 0
// Define a timer that executes once per second
for t := range time.Tick(time.Second) {
// perform 5 Seconds later
if num++; num >= 5 {
return
}
fmt.Println(t.Second())
}
4. Time formatting and conversion
4.1 Time format output
Fixed number | Corresponding format |
---|---|
2006 | yyyy |
01 | MM |
02 | dd |
15 | HH |
04 | mm |
05 | SS |
// Get the current time
now := time.Now()
// Format the current time
format := now.Format("2006/01/02 15/04/05")
fmt.Println(format)
4.2 Convert string to Time
str := "2022/07/04 22/40/50"
t, _ := time.Parse("2006/01/02 15/04/05", str)
fmt.Println(t) // Default time zone 2022-07-04 22:40:50 +0000 UTC
// Resolve in the specified time zone
location, _ := time.LoadLocation("Asia/Shanghai")
inLocation, _ := time.ParseInLocation("2006/01/02 15/04/05", str, location)
fmt.Println(inLocation) // East eight 2022-07-04 22:40:50 +0800 CST
end practice
1. Count the running time of the program , Accurate to nanoseconds
begin := time.Now().Nanosecond()
beginUnixMilli := time.Now().UnixMilli()
beginSecond := time.Now().Second()
strToTime()
fmt.Printf(" The program runs %d nanosecond \n", time.Now().Nanosecond()-begin)
fmt.Printf(" The program runs %d millisecond \n", time.Now().UnixMilli()-beginUnixMilli)
fmt.Printf(" The program runs %d second ", time.Now().Second()-beginSecond)
边栏推荐
- 【数字IC验证快速入门】12、SystemVerilog TestBench(SVTB)入门
- 发挥创客教育空间的广泛实用性
- Introduction à l'objet blob
- eBPF Cilium实战(2) - 底层网络可观测性
- It took "7" years to build the robot framework into a micro service
- 【数字IC验证快速入门】10、Verilog RTL设计必会的FIFO
- 积分商城管理系统中应包含的四大项
- Rainbond结合NeuVector实践容器安全管理
- The element with setfieldsvalue set is obtained as undefined with GetFieldValue
- JS cross browser parsing XML application
猜你喜欢
[quick start of Digital IC Verification] 10. Verilog RTL design must know FIFO
Empire CMS collection Empire template program general
buureservewp(2)
Register of assembly language by Wang Shuang
解析创新教育体系中的创客教育
解析机器人科技发展观对社会研究论
Use of JMeter
Wang Zijian: is the NFT of Tencent magic core worth buying?
The largest 3 same digits in the string of leetcode simple question
Uniapp mobile terminal forced update function
随机推荐
The element with setfieldsvalue set is obtained as undefined with GetFieldValue
Game attack and defense world reverse
JS cross browser parsing XML application
【踩坑系列】uniapp之h5 跨域的问题
JS copy picture to clipboard read clipboard
力扣(LeetCode)187. 重复的DNA序列(2022.07.06)
CDC (change data capture technology), a powerful tool for real-time database synchronization
Qinglong panel - today's headlines
The use of generics and vararg variable parameters in kotlin
The largest 3 same digits in the string of leetcode simple question
[untitled]
Network learning (II) -- Introduction to socket
快解析内网穿透助力外贸管理行业应对多种挑战
[quick start of Digital IC Verification] 14. Basic syntax of SystemVerilog learning 1 (array, queue, structure, enumeration, string... Including practical exercises)
雅思考试自己的复习进度以及方法使用【日更版】
Leetcode medium question my schedule I
青龙面板--整理能用脚本
Register of assembly language by Wang Shuang
opencv学习笔记三——图像平滑/去噪处理
通俗易懂单点登录SSO