【go 语言】打造属于自己的工具集(二)

简介: 时间转换工具

正文


时间转换工具


一、介绍


在查看原始数据时,经常需要看格式化后的个性化时间,或是时间戳等。如果不同系统中的时间格式不一样,比较规则不一样,那么每用一次就要做一轮转换。很多时候,业务接口的入参开始时间和结束时间是一个时间戳的值,这时就需要依靠外部的一些快捷站点,或是内部的 Web 站点来获取、调整时间了。首先要连上网,然后收入站点地址,等等。这显然不符合我们的极客思维,该时间转换工具是为了提高获取时间的效率。


二、关键代码


主要就是利用 time.Parse 模块格式化时间。


var calculateTimeCmd = &cobra.Command{
    Use:   "calc",
    Short: "计算所需时间",
    Long:  "计算所需时间",
    Run: func(cmd *cobra.Command, args []string) {
        var currentTimer time.Time
        var layout = "2006-01-02 15:04:05"
        if calculateTime == "" {
            currentTimer = timer.GetNowTime()
        } else {
            var err error
            space := strings.Count(calculateTime, " ")
            if space == 0 {
                layout = "2006-01-02"
            }
            if space == 1 {
                layout = "2006-01-02 15:04"
            }
            currentTimer, err = time.Parse(layout, calculateTime)
            if err != nil {
                t, _ := strconv.Atoi(calculateTime)
                currentTimer = time.Unix(int64(t), 0)
            }
        }
        t, err := timer.GetCalculateTime(currentTimer, duration)
        if err != nil {
            log.Fatalf("timer.GetCalculateTime err: %v", err)
        }
        log.Printf("输出结果: %s, %d", t.Format(layout), t.Unix())
    },
}


三、验证


223.webp.jpg

时间工具


四、项目工程目录


最近的几个项目工程都在一处。


五、完整代码文件&最终可执行文件下载


最近的几个项目工程都在一处。


六、总结


这里主要描述一下 cobra 这个 go 语言库的使用心得:

  1. 初始化子命令,编写子命令里的逻辑;
  2. 编写完子命令之后,到根命令中进行注册;
  3. 子命令的子命令进行注册。


具体可看代码工程。

目录
相关文章
|
7天前
|
Go
Go 语言循环语句
在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。
16 1
|
6天前
|
Go 开发者
探索Go语言的并发之美
在Go语言的世界里,"并发"不仅仅是一个特性,它是一种哲学。本文将带你领略Go语言中goroutine和channel的魔力,揭示如何通过Go的并发机制来构建高效、可靠的系统。我们将通过一个简单的示例,展示如何利用Go的并发特性来解决实际问题,让你的程序像Go一样,轻盈而强大。
|
7天前
|
JSON Go API
使用Go语言和Gin框架构建RESTful API:GET与POST请求示例
使用Go语言和Gin框架构建RESTful API:GET与POST请求示例
|
7天前
|
Go
go语言创建字典
go语言创建字典
|
7天前
|
NoSQL Go API
go语言操作Redis
go语言操作Redis
|
7天前
|
Unix Go
go语言获取当前时间戳
go语言获取当前时间戳
|
7天前
|
Go
go语言李mapstructure啥意思
go语言李mapstructure啥意思
|
7天前
|
Go
Go 语言接口
Go 语言提供了另外一种数据类型即接口,它把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。 接口可以让我们将不同的类型绑定到一组公共的方法上,从而实现多态和灵活的设计。
|
7天前
|
存储 Go
go语言字符串变小写
go语言字符串变小写
|
7天前
|
Go
8-12|go语言之输入
8-12|go语言之输入
下一篇
无影云桌面