Golang中如何操作时间-创新互联

今天就跟大家聊聊有关Golang中如何操作时间,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

目前创新互联公司已为超过千家的企业提供了网站建设、域名、网站空间、网站改版维护、企业网站设计、阜阳网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

实现代码

package utils

import "time"

const (
 TIMEFORMAT = "20060102150405"
 NORMALTIMEFORMAT = "2006-01-02 15:04:05"
)

// 当前时间
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)
}

// 转为时间戳->秒数
func GetTimeUnix(t time.Time) int64 {
 return t.Unix()
}

// 转为时间戳->毫秒数
func GetTimeMills(t time.Time) int64 {
 return t.UnixNano() / 1e6
}

// 时间戳转时间
func GetTimeByInt(t1 int64) time.Time{
 return time.Unix(t1,0)
}

// 字符串转时间
func GetTimeByString(timestring string) (time.Time,error){
 if timestring == "" {
 return time.Time{},nil
 }
 return time.ParseInLocation(TIMEFORMAT, timestring, time.Local)
}

// 标准字符串转时间
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
}

// 判断当前时间是否是整点
func Checkhours() bool {
 _, m, s := GetTime().Clock()
 if m == s && m == 0 && s == 0 {
 return true
 }
 return false
}

// 时间字符串转为标准字符串
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
}

网页题目:Golang中如何操作时间-创新互联
网页网址:https://www.cdcxhl.com/article42/csseec.html

成都网站建设公司_创新互联,为您提供网站制作标签优化外贸网站建设微信公众号网站策划手机网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网站建设公司