脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Golang - Go语言学习之时间函数使用详解

Go语言学习之时间函数使用详解

2022-09-25 12:03隐姓埋名4869 Golang

这篇文章主要为大家详细介绍了Go语言中时间函数的使用方法,文中的示例代码讲解详细,对我们学习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这个时间必须固定不能更改,否则不能获取正确时间

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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. 示例

对获取的日期进行提取日期并判断是否为会员日

?
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
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
会员日

统计程序执行时间,精确到微秒

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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

到此这篇关于Go语言学习之时间函数使用详解的文章就介绍到这了,更多相关Go语言时间函数内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/lvrui/p/16163117.html

延伸 · 阅读

精彩推荐
  • GolangWindows下安装VScode 并使用及中文配置方法

    Windows下安装VScode 并使用及中文配置方法

    这篇文章主要介绍了Windows下安装VScode 并使用及中文配置的方法详解,本文通过图文并茂的形式给大家介绍,对大家的学习或工作具有一定的参考借鉴价值...

    肖帝5882020-06-08
  • Golang从源码的角度看Go语言Flag库如何解析命令行参数!

    从源码的角度看Go语言Flag库如何解析命令行参数!

    Parse的代码里用到了一个,CommandLine共享变量,这就是内部库维护的FlagSet,所有的参数都会插到里面的变量地址向地址的指向赋值绑定。...

    机智的程序员小熊10662021-08-11
  • Golanggo语言实现字符串base64编码的方法

    go语言实现字符串base64编码的方法

    这篇文章主要介绍了go语言实现字符串base64编码的方法,实例分析了Go语言操作字符串的技巧及base64编码的使用技巧,需要的朋友可以参考下 ...

    令狐不聪5272020-04-24
  • GolangGo 提问:值为 Nil 能调用函数吗?

    Go 提问:值为 Nil 能调用函数吗?

    今天给大家分享了一个 Go 语言里面的一个小细节,平时可能很多人没注意到,毕竟 IDE 也会标黄,会避开这个问题点。...

    脑子进煎鱼了9492022-01-05
  • GolangGo语言线程安全之互斥锁与读写锁

    Go语言线程安全之互斥锁与读写锁

    这篇文章主要介绍了Go语言线程安全之互斥锁与读写锁,互斥锁是为了并发的安全,在多个goroutine共同工作的时候,对于共享的数据十分不安全,而读写锁效率革...

    酷尔。4002022-02-25
  • GolangGo语言七篇入门教程二程序结构与数据类型

    Go语言七篇入门教程二程序结构与数据类型

    这篇文章主要为大家介绍了Go语言的程序结构与数据类型,本篇文章是Go语言七篇入门系列文,有需要的朋友可以借鉴参考下,希望能够有所帮助...

    小生凡一8652021-12-01
  • Golang详解Go语言变量作用域

    详解Go语言变量作用域

    这篇文章主要介绍了Go 语言变量作用域的相关资料,帮助大家更好的理解和学习使用go语言,感兴趣的朋友可以了解下...

    bainianminguo9482021-04-18
  • Golanggolang中interface接口的深度解析

    golang中interface接口的深度解析

    什么是interface,简单的说,interface是一组method的组合,下面这篇文章主要给大家深度解析了关于golang中的interface接口,文中通过示例代码介绍的非常详细,...

    D_Guco5082020-05-11