学习笔记,写到哪是哪。
接着上一篇的文章: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
小结
先一两个工具类,后面继续补充。