Go语学习笔记 - 增加时间工具 | Web框架Gin(五)

学习笔记,写到哪是哪。

接着上一篇的文章:Go语学习笔记 - 跨域配置、全局异常捕获 | Web框架Gin(四)_剑客阿良_ALiang的博客-CSDN博客_gin全局异常捕获

在上一篇中已经将一些基本的配置都弄好了。

为了方便项目开发,会增加一些可能用到的工具类。

按照个人习惯,我先增加了时间工具,因为在实际开发中经常需要使用,自己随便编辑了几个方法。

项目地址:github地址 

时间工具完整代码如下:

package utils

import (
	"time"
)

//time.Time类型转化为时间字符串、时间戳
func GetTime(tm time.Time) (string, int64) {
	_timeStr := tm.Format("2006-01-02 15:04:05")
	_timeStamp := tm.Unix()
	return _timeStr, _timeStamp
}

//时间戳转化为时间字符串
func TimestampToDatetime(tm int64) string {
	_timeUnix := tm
	return time.Unix(_timeUnix, 0).Format("2006-01-02 15:04:05")
}

//时间戳转time.Time类型
func TimestampToTime(tm int64) time.Time {
	_timeUnix := TimestampToDatetime(tm)
	_formatTime, _ := time.Parse("2006-01-02 15:04:05", _timeUnix)
	return _formatTime

}

//字符串时间转时间戳
func DatetimeToTime(dateTime string) (tm time.Time) {
	_formatTime, _ := time.Parse("2006-01-02 15:04:05", dateTime)
	return _formatTime
}

//字符串时间转时间戳
func DatetimeToTimestamp(dataTime string) (tm int64) {
	_formatTime, _ := time.Parse("2006-01-02 15:04:05", dataTime)
	return _formatTime.Unix()
}

代码说明

1、提供了time.Time类型转化为时间字符串、时间戳的方法,返回值有两个。

2、提供了时间戳转化为时间字符串方法。

3、提供了时间戳转time.Time类型方法。

4、提供了字符串时间转时间戳方法。

5、提供了字符串时间转时间戳方法。

选择生成一个测试文件对方法进行测试,可以使用alt+insert快捷键生成一个empty test文件,如下图。

会在包下生成测试文件,如下图。

测试代码如下:

package utils

import (
	"fmt"
	"testing"
	"time"
)

func TestTimeUtil(t *testing.T) {
	fmt.Println(GetTime(time.Now()))
	fmt.Println(TimestampToDatetime(1655124564))
	fmt.Println(TimestampToTime(1655124564))
	fmt.Println(DatetimeToTime("2022-06-14 19:13:24"))
	fmt.Println(DatetimeToTimestamp("2022-06-14 19:13:24"))
}

 测试一下代码,执行结果如下。

=== RUN   TestTimeUtil
2022-06-15 15:38:43 1655278723
2022-06-13 20:49:24
2022-06-13 20:49:24 +0000 UTC
2022-06-14 19:13:24 +0000 UTC
1655234004
--- PASS: TestTimeUtil (0.03s)
PASS


Process finished with the exit code 0

小结

先一两个工具类,后面继续补充。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

剑客阿良_ALiang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值