本篇文章小编给大家分享一下Go语言学习之时间函数使用代码解析,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
引言
1946年2月14日,人类历史上公认的第一台现代电子计算机“埃尼阿克”(ENIAC)诞生。
计算机语言时间戳是以1970年1月1日0点为计时起点时间的。计算机诞生为1946年2月14日,而赋予生命力时间是从1970年1月1日0点开始。
Hour 1小时=60分钟
Minute 1分钟=60秒
Second 1秒=1000毫秒
Millsecond 1毫秒=1000微秒
Microsecond 1微秒=1000纳秒
Nanoseco 1纳秒
1. 时间格式化
2006/1/02 15:04:05这个时间必须固定不能更改,否则不能获取正确时间
package main import ( "fmt" "time" ) func main() { //格式化字符串 now := time.Now() //时间必须固定不能更改,否则不能获取正确时间 fmt.Println(now.Format("02/1/2006 15:04:05")) fmt.Println(now.Format("2006/1/02 15:04")) fmt.Println(now.Format("2006/1/02")) }
输出结果如下
07/4/2022 21:51:52
2022/4/07 21:51
2022/4/07
2. 示例
对获取的日期进行提取日期并判断是否为会员日
package main import ( "fmt" "strconv" "strings" "time" ) func main() { //格式化字符串 now := time.Now() //时间必须固定 times := now.Format("2006/1/02 15:04:05") a := strings.Fields(times) fmt.Println(a[0]) fmt.Println(a[1]) b := strings.Split(a[0], "/") fmt.Println(b[2]) //判断是否为会员日,奇数为会员日,偶数为非会员日 c, _ := strconv.Atoi(b[2]) if c%2 != 0 { fmt.Println("会员日") } else { fmt.Println("非会员日") } }
输出结果如下
2022/4/07
22:07:42
07
会员日
统计程序执行时间,精确到微秒
package main import ( "fmt" "time" ) func main() { //使用时间戳统计时间 start := time.Now().UnixNano() sleepTime() end := time.Now().UnixNano() fmt.Printf("程序执行时间: %d", (end-start)/1000) } func sleepTime() { time.Sleep(time.Millisecond * 100) }
执行结果如下
程序执行时间: 113650