今天就跟大家聊聊有關(guān)Golang中如何操作時間,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
實現(xiàn)代碼
package utils import "time" const ( TIMEFORMAT = "20060102150405" NORMALTIMEFORMAT = "2006-01-02 15:04:05" ) // 當(dāng)前時間 func GetTime() time.Time{ return time.Now() } // 格式化為:20060102150405 func GetTimeString(t time.Time) string { return t.Format(TIMEFORMAT) } // 格式化為:2006-01-02 15:04:05 func GetNormalTimeString(t time.Time) string { return t.Format(NORMALTIMEFORMAT) } // 轉(zhuǎn)為時間戳->秒數(shù) func GetTimeUnix(t time.Time) int64 { return t.Unix() } // 轉(zhuǎn)為時間戳->毫秒數(shù) func GetTimeMills(t time.Time) int64 { return t.UnixNano() / 1e6 } // 時間戳轉(zhuǎn)時間 func GetTimeByInt(t1 int64) time.Time{ return time.Unix(t1,0) } // 字符串轉(zhuǎn)時間 func GetTimeByString(timestring string) (time.Time,error){ if timestring == "" { return time.Time{},nil } return time.ParseInLocation(TIMEFORMAT, timestring, time.Local) } // 標(biāo)準(zhǔn)字符串轉(zhuǎn)時間 func GetTimeByNormalString(timestring string) (time.Time,error){ if timestring == "" { return time.Time{},nil } return time.ParseInLocation(NORMALTIMEFORMAT, timestring, time.Local) } // 比較兩個時間大小 func CompareTime(t1 ,t2 time.Time) bool { return t1.Before(t2) } // n小時后的時間字符串 func GetNextHourTime(s string, n int64) string { t2, _ := time.ParseInLocation(TIMEFORMAT, s, time.Local) t1 := t2.Add(time.Hour * time.Duration(n)) return GetTimeString(t1) } // 計算倆個時間差多少小時 func GetHourDiffer(start_time, end_time string) float32 { var hour float32 t1, err := time.ParseInLocation(TIMEFORMAT, start_time, time.Local) t2, err := time.ParseInLocation(TIMEFORMAT, end_time, time.Local) if err == nil && CompareTime(t1,t2) { diff := GetTimeUnix(t2) - GetTimeUnix(t1) hour = float32(diff) / 3600 return hour } return hour } // 判斷當(dāng)前時間是否是整點 func Checkhours() bool { _, m, s := GetTime().Clock() if m == s && m == 0 && s == 0 { return true } return false } // 時間字符串轉(zhuǎn)為標(biāo)準(zhǔn)字符串 func StringToNormalString(t string) string { if !(len(TIMEFORMAT) == len(t) || len(SHORTTIMESTRING) == len(t)) { return t } if len(SHORTTIMESTRING) == len(t) { t += "000000" } if len(TIMEFORMAT) == len(t) { t1,err:= GetTimeByString(t) if err != nil { return t } t = GetTimeString(t1) } return t }
網(wǎng)頁題目:Golang中如何操作時間-創(chuàng)新互聯(lián)
網(wǎng)頁網(wǎng)址:http://vcdvsql.cn/article42/csseec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、標(biāo)簽優(yōu)化、外貿(mào)網(wǎng)站建設(shè)、微信公眾號、網(wǎng)站策劃、手機網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容