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)

}

// 转为时间戳->秒数

func GetTimeUnix(ttime.Time)int64 {

return t.Unix()

}

// 转为时间戳->毫秒数

func GetTimeMills(ttime.Time)int64 {

return t.UnixNano() /1e6

}

// 时间戳转时间

func GetTimeByInt(t1int64)time.Time {

return time.Unix(t1, 0)

}

//字符串转换时间自定义格式

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

if timeString =="" {

return time.Time{}, nil

  }

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

}

// 字符串转时间

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

return GetTimeByStringFormat(timeString, TIME_FORMAT)

}

// 标准字符串转时间

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

return GetTimeByStringFormat(timeString, RULE_TIME_FORMAT)

}

// 时间戳(秒)转换成字符串

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

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容