介绍
今天就跟大家聊聊有关Golang中如何操作时间,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
<强>实现代码强>
包跑龙套 导入“time" 常量( TIMEFORMAT=?0060102150405”; NORMALTIMEFORMAT=?006-01-02 15:04:05" )//当前时间 time.Time func取得时间(){ 返回time.Now () }//格式化为:20060102150405 字符串函数GetTimeString (t time.Time) { 返回t.Format (TIMEFORMAT) }//格式化为:2006-01-02 15:04:05 字符串函数GetNormalTimeString (t time.Time) { 返回t.Format (NORMALTIMEFORMAT) }//转为时间戳→秒数 func GetTimeUnix (t time.Time) int64 { 返回t.Unix () }//转为时间戳→毫秒数 func GetTimeMills (t time.Time) int64 { 返回t.UnixNano ()/1 e6 }//时间戳转时间 func GetTimeByInt (t1 int64) time.Time { 返回time.Unix (t1 0) }//字符串转时间 func GetTimeByString (timestring字符串)(time.Time错误){ 如果timestring==?“{ 返回time.Time {}, nil } 返回时间。ParseInLocation (TIMEFORMAT timestring time.Local) }//标准字符串转时间 func GetTimeByNormalString (timestring字符串)(time.Time错误){ 如果timestring==?“{ 返回time.Time {}, nil } 返回时间。ParseInLocation (NORMALTIMEFORMAT timestring time.Local) }//比较两个时间大小 func CompareTime (t1, t2 time.Time bool) { 返回t1.Before (t2) }//n小时后的时间字符串 func GetNextHourTime字符串(字符串,n int64) { t2, _:=时间。ParseInLocation (TIMEFORMAT s time.Local) t1:=t2.Add(时间。小时* time.Duration (n)) 返回GetTimeString (t1) }//计算俩个时间差多少小时 func GetHourDiffer (start_time end_time字符串)float32 { 乏时float32 t1,犯错:=时间。ParseInLocation (TIMEFORMAT start_time time.Local) t2,犯错:=时间。ParseInLocation (TIMEFORMAT end_time time.Local) 如果做错了==nil,,CompareTime (t1, t2) { diff:=GetTimeUnix (t2)——GetTimeUnix (t1) 小时=float32 (diff)/3600 返回时间 } 返回时间 }//判断当前时间是否是整点 bool func Checkhours () { _,m s:=取得时间().Clock () 如果m==s,,m==0,,s==0 { 还真 } 返回假 }//时间字符串转为标准字符串 字符串函数StringToNormalString (t字符串){ 如果! (len (TIMEFORMAT)==len (t) | | len (SHORTTIMESTRING)==len (t)) { 返回t } 如果len (SHORTTIMESTRING)==len (t) { t +=?00000”; } 如果len (TIMEFORMAT)==len (t) { t1,犯错:=GetTimeByString (t) 如果犯错!=nil { 返回t } t=GetTimeString (t1) } 返回t }
判断一个时间点是否在一个时间点之后
过程:这个对于时间戳而言非常简单,但是对于其他的需要转换到时间即可对比
stringToTime _:=time.Parse (“2006-01-02 15:04:05",“2017-12-12 12:00:00") beforeOrAfter:=stringToTime.After (time.Now ()) 如果beforeOrAfter==true { fmt.Println(“2017-12-12 12:00:00在tNow之后!“) 其他}{ fmt.Println(“2017-12-12 12:00:00在tNow之前!“) }
判断一个时间相比另外一个时间点过去了多久
过程:这个是用时间的方式来对比
beginTime:=time.Now () time . sleep (time.Second * 1) durtime:=time.Since (beginTime) fmt.Println(“离现在过去了:“,durtime)
看完上述内容,你们对Golang中如何操作时间有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。