Go语言 时间函数

简介: 引言1946年2月14日,人类历史上公认的第一台现代电子计算机“埃尼阿克”(ENIAC)诞生。计算机语言时间戳是以1970年1月1日0点为计时起点时间的。计算机诞生为1946年2月14日,而赋予生命力时间是从1970年1月1日0点开始。1小时=60分钟 Hour1分钟=60秒 Minute1秒=1000毫秒 Second1毫秒=1000微秒 Millsecond1微秒=1000纳秒 Microsecond1纳秒 Nanoseco

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
相关文章
|
8天前
|
存储 Go 索引
go语言中数组和切片
go语言中数组和切片
21 7
|
7天前
|
Go 开发工具
百炼-千问模型通过openai接口构建assistant 等 go语言
由于阿里百炼平台通义千问大模型没有完善的go语言兼容openapi示例,并且官方答复assistant是不兼容openapi sdk的。 实际使用中发现是能够支持的,所以自己写了一个demo test示例,给大家做一个参考。
|
8天前
|
程序员 Go
go语言中结构体(Struct)
go语言中结构体(Struct)
85 71
|
7天前
|
存储 Go 索引
go语言中的数组(Array)
go语言中的数组(Array)
91 67
|
10天前
|
Go 索引
go语言for遍历数组或切片
go语言for遍历数组或切片
82 62
|
12天前
|
并行计算 安全 Go
Go语言中的并发编程:掌握goroutines和channels####
本文深入探讨了Go语言中并发编程的核心概念——goroutine和channel。不同于传统的线程模型,Go通过轻量级的goroutine和通信机制channel,实现了高效的并发处理。我们将从基础概念开始,逐步深入到实际应用案例,揭示如何在Go语言中优雅地实现并发控制和数据同步。 ####
|
8天前
|
存储 Go
go语言中映射
go语言中映射
25 11
|
10天前
|
Go
go语言for遍历映射(map)
go语言for遍历映射(map)
24 12
|
9天前
|
Go 索引
go语言使用索引遍历
go语言使用索引遍历
17 9
|
13天前
|
安全 Serverless Go
Go语言中的并发编程:深入理解与实践####
本文旨在为读者提供一个关于Go语言并发编程的全面指南。我们将从并发的基本概念讲起,逐步深入到Go语言特有的goroutine和channel机制,探讨它们如何简化多线程编程的复杂性。通过实例演示和代码分析,本文将揭示Go语言在处理并发任务时的优势,以及如何在实际项目中高效利用这些特性来提升性能和响应速度。无论你是Go语言的初学者还是有一定经验的开发者,本文都将为你提供有价值的见解和实用的技巧。 ####