golang中常用時間操作

package utils

import "time"

const (

TIME_FORMAT? ? ? ="20060102150405"

? RULE_TIME_FORMAT ="2006-01-02 15:04:05"

)

// 當前時間

func GetTime()time.Time {

return time.Now()

}

// 格式化為:20060102150405

func GetTimeString(ttime.Time)string {

return t.Format(TIME_FORMAT)

}

// 格式化為:2006-01-02 15:04:05

func GetRuleTimeString(ttime.Time)string {

return t.Format(RULE_TIME_FORMAT)

}

// 轉(zhuǎn)為時間戳->秒數(shù)

func GetTimeUnix(ttime.Time)int64 {

return t.Unix()

}

// 轉(zhuǎn)為時間戳->毫秒數(shù)

func GetTimeMills(ttime.Time)int64 {

return t.UnixNano() /1e6

}

// 時間戳轉(zhuǎn)時間

func GetTimeByInt(t1int64)time.Time {

return time.Unix(t1, 0)

}

//字符串轉(zhuǎn)換時間自定義格式

func GetTimeByStringFormat(timeString, formatstring) (time.Time, error) {

if timeString =="" {

return time.Time{}, nil

? }

return time.ParseInLocation(format, timeString, time.Local)

}

// 字符串轉(zhuǎn)時間

func GetTimeByString(timeStringstring) (time.Time, error) {

return GetTimeByStringFormat(timeString, TIME_FORMAT)

}

// 標準字符串轉(zhuǎn)時間

func GetTimeByNormalString(timeStringstring) (time.Time, error) {

return GetTimeByStringFormat(timeString, RULE_TIME_FORMAT)

}

// 時間戳(秒)轉(zhuǎn)換成字符串

func GetUnixToString(sint64, formatstring) (string, error) {

return time.Unix(s, 0).Format(format), nil

}

// 比較兩個時間大小

func CompareTime(t1, t2time.Time)bool {

return t1.Before(t2)

}

// n小時后的時間字符串

func GetNextHourTime(sstring, nint64)string {

t2, _ :=time.ParseInLocation(TIME_FORMAT, s, time.Local)

t1 := t2.Add(time.Hour *time.Duration(n))

return GetTimeString(t1)

}

// 計算倆個時間差多少小時

func GetHourDiffer(startTime, endTimestring)float32 {

var hourfloat32

? t1, err :=time.ParseInLocation(TIME_FORMAT, startTime, time.Local)

t2, err :=time.ParseInLocation(TIME_FORMAT, endTime, time.Local)

if err ==nil &&CompareTime(t1, t2) {

diff :=GetTimeUnix(t2) -GetTimeUnix(t1)

hour =float32(diff) /3600

? ? ? return hour

}

return hour

}

// 判斷當前時間是否是整點

func CheckHours()bool {

_, m, s :=GetTime().Clock()

if m == s && m ==0 && s ==0 {

return true

? }

return false

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容