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