白云岛资源网 Design By www.pvray.com
需求
时间格式的转换比较麻烦,自己写了个工具,可以通过工具中的这些方法相互调用转成自己想要的格式,代码如下,后续有新的函数再添加
实现代码
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 }
判断一个时间点是否在一个时间点之后
过程:这个对于时间戳而言非常简单,但是对于其他的需要转换到time即可对比
stringToTime, _ := time.Parse("2006-01-02 15:04:05", "2017-12-12 12:00:00") beforeOrAfter := stringToTime.After(time.Now()) if beforeOrAfter == true { fmt.Println("2017-12-12 12:00:00在tNow之后!") } else { fmt.Println("2017-12-12 12:00:00在tNow之前!") }
判断一个时间相比另外一个时间点过去了多久
过程:这个是用Time的方式来对比
beginTime :=time.Now() time.Sleep(time.Second*1) durtime:= time.Since(beginTime) fmt.Println("离现在过去了:",durtime)
白云岛资源网 Design By www.pvray.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
白云岛资源网 Design By www.pvray.com
暂无评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。