首页 文章资讯内容详情

Golang中的各种时间操作

2026-06-01 2 花语

本文内容纲要:

-Golang中的各种时间操作 -需求 -实现代码

Golang中的各种时间操作

需求

时间格式的转换比较麻烦,自己写了个工具,可以通过工具中的这些方法相互调用转成自己想要的格式,代码如下,后续有新的函数再添加

实现代码

packageutils import"time" const( TIMEFORMAT="20060102150405" NORMALTIMEFORMAT="2006-01-0215:04:05" ) //当前时间 funcGetTime()time.Time{ returntime.Now() } //格式化为:20060102150405 funcGetTimeString(ttime.Time)string{ returnt.Format(TIMEFORMAT) } //格式化为:2006-01-0215:04:05 funcGetNormalTimeString(ttime.Time)string{ returnt.Format(NORMALTIMEFORMAT) } //转为时间戳->秒数 funcGetTimeUnix(ttime.Time)int64{ returnt.Unix() } //转为时间戳->毫秒数 funcGetTimeMills(ttime.Time)int64{ returnt.UnixNano()/1e6 } //时间戳转时间 funcGetTimeByInt(t1int64)time.Time{ returntime.Unix(t1,0) } //字符串转时间 funcGetTimeByString(timestringstring)(time.Time,error){ iftimestring==""{ returntime.Time{},nil } returntime.ParseInLocation(TIMEFORMAT,timestring,time.Local) } //标准字符串转时间 funcGetTimeByNormalString(timestringstring)(time.Time,error){ iftimestring==""{ returntime.Time{},nil } returntime.ParseInLocation(NORMALTIMEFORMAT,timestring,time.Local) } //比较两个时间大小 funcCompareTime(t1,t2time.Time)bool{ returnt1.Before(t2) } //n小时后的时间字符串 funcGetNextHourTime(sstring,nint64)string{ t2,_:=time.ParseInLocation(TIMEFORMAT,s,time.Local) t1:=t2.Add(time.Hour*time.Duration(n)) returnGetTimeString(t1) } //计算俩个时间差多少小时 funcGetHourDiffer(start_time,end_timestring)float32{ varhourfloat32 t1,err:=time.ParseInLocation(TIMEFORMAT,start_time,time.Local) t2,err:=time.ParseInLocation(TIMEFORMAT,end_time,time.Local) iferr==nil&&CompareTime(t1,t2){ diff:=GetTimeUnix(t2)-GetTimeUnix(t1) hour=float32(diff)/3600 returnhour } returnhour } //判断当前时间是否是整点 funcCheckhours()bool{ _,m,s:=GetTime().Clock() ifm==s&&m==0&&s==0{ returntrue } returnfalse } //时间字符串转为标准字符串 funcStringToNormalString(tstring)string{ if!(len(TIMEFORMAT)==len(t)||len(SHORTTIMESTRING)==len(t)){ returnt } iflen(SHORTTIMESTRING)==len(t){ t+="000000" } iflen(TIMEFORMAT)==len(t){ t1,err:=GetTimeByString(t) iferr!=nil{ returnt } t=GetTimeString(t1) } returnt }

本文内容总结:Golang中的各种时间操作,需求,实现代码,

原文链接:https://www.cnblogs.com/Kingram/p/12618067.html