先讲一个冷知识go语言诞生的日期是2006年1月2号15点4分5秒

time.Now()

package main
import(
"fmt"
)
func main{
timeobj:=time.Now()
fmt.Println(timeobj)
}

2022-12-03 09:57:30.4484774 +0800 CST m=+0.003

这便是打印出的结果,看着是很不习惯的,于是我们将其格式化输出看看

fmt.Println(timeobj.Format("2006-01-02-03-04-05"))
fmt.Println(timeobj.Format("2006-01-02-15-04-05"))

不知大家是否发现这个格式化的时间与go诞生的时间是一样的,第一种代表12小时制,第二种代表24小时制
其结果分别是:
2022-12-03 10:01:56
2022-12-03 10:01:56
因为现在还是早上,并不能看出区别

println(timeObj.Year())
println(timeObj.Month())
println(timeObj.Day())
println(timeObj.Hour())
println(timeObj.Minute())
println(timeObj.Second())

这些相信大家能轻松看懂的吧,在此不再赘述。

timeobj.Unix()

在Go语言中,时间包提供了确定和查看时间的函数。 Go语言中的Unix()函数用于产生本地时间,该时间与UTC中自1970年1月1日起的Unix时间有关。

其实很好理解通过该函数获取到我们到1970年1月1日的秒数

package main

import (
"fmt"
"time"
)

func main() {
timeObj := time.Now()
unixTime := timeObj.Unix()
fmt.Println(unixTime)
fmt.Println(time.Unix(unixTime, 0).Format("2006-01-02 03:04:05")) //戳转time
}

结果便是

//1670033347
//2022-12-03 10:09:07

time里中的常量

package main

import (
"fmt"
"time"
)
func main() {
fmt.Println(time.Millisecond) //毫秒
fmt.Println(time.Second) //秒
fmt.Println(time.Minute) //分
fmt.Println(time.Hour) //小时


var timeObj = time.Now()
fmt.Println(timeObj) //
timeObj = timeObj.Add(time.Hour)//增加一小时
fmt.Println(timeObj) //
}

很好理解doge

//1ms
//1s
//1m0s
//1h0m0s
//2022-12-03 10:12:03.1304458 +0800 CST m=+0.004897501
//2022-12-03 11:12:03.1304458 +0800 CST m=+3600.004897501

time中的计时器

ticker=time.Newicker(time.Second)

这样我们就建立了一个每一秒钟的计时器,接着我们使用它

n:=5
for t:= range ticker.C{
fmt.Println(t)
n--
if n==0{
ticker.Stop()
break
}
}

stop和break缺一不可。
image

然后就是还有一个time.Sleep的函数

time.Sleep(time.Second)

休眠一秒