Golang中如何操作时间

  介绍

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

<强>实现代码

包跑龙套
  
  导入“time"
  
  常量(
  TIMEFORMAT=?0060102150405”;
  NORMALTIMEFORMAT=?006-01-02 15:04:05"
  )//当前时间
  time.Time func取得时间(){
  返回time.Now ()
  }//格式化为:20060102150405
  字符串函数GetTimeString (t time.Time) {
  返回t.Format (TIMEFORMAT)
  }//格式化为:2006-01-02 15:04:05
  字符串函数GetNormalTimeString (t time.Time) {
  返回t.Format (NORMALTIMEFORMAT)
  }//转为时间戳→秒数
  func GetTimeUnix (t time.Time) int64 {
  返回t.Unix ()
  }//转为时间戳→毫秒数
  func GetTimeMills (t time.Time) int64 {
  返回t.UnixNano ()/1 e6
  }//时间戳转时间
  func GetTimeByInt (t1 int64) time.Time {
  返回time.Unix (t1 0)
  }//字符串转时间
  func GetTimeByString (timestring字符串)(time.Time错误){
  如果timestring==?“{
  返回time.Time {}, nil
  }
  返回时间。ParseInLocation (TIMEFORMAT timestring time.Local)
  }//标准字符串转时间
  func GetTimeByNormalString (timestring字符串)(time.Time错误){
  如果timestring==?“{
  返回time.Time {}, nil
  }
  返回时间。ParseInLocation (NORMALTIMEFORMAT timestring time.Local)
  }//比较两个时间大小
  func CompareTime (t1, t2 time.Time bool) {
  返回t1.Before (t2)
  }//n小时后的时间字符串
  func GetNextHourTime字符串(字符串,n int64) {
  t2, _:=时间。ParseInLocation (TIMEFORMAT s time.Local)
  t1:=t2.Add(时间。小时* time.Duration (n))
  返回GetTimeString (t1)
  }//计算俩个时间差多少小时
  func GetHourDiffer (start_time end_time字符串)float32 {
  乏时float32
  t1,犯错:=时间。ParseInLocation (TIMEFORMAT start_time time.Local)
  t2,犯错:=时间。ParseInLocation (TIMEFORMAT end_time time.Local)
  如果做错了==nil,,CompareTime (t1, t2) {
  diff:=GetTimeUnix (t2)——GetTimeUnix (t1)
  小时=float32 (diff)/3600
  返回时间
  }
  返回时间
  }//判断当前时间是否是整点
  bool func Checkhours () {
  _,m s:=取得时间().Clock ()
  如果m==s,,m==0,,s==0 {
  还真
  }
  返回假
  }//时间字符串转为标准字符串
  字符串函数StringToNormalString (t字符串){
  如果! (len (TIMEFORMAT)==len (t) | | len (SHORTTIMESTRING)==len (t)) {
  返回t
  }
  如果len (SHORTTIMESTRING)==len (t) {
  t +=?00000”;
  }
  如果len (TIMEFORMAT)==len (t) {
  t1,犯错:=GetTimeByString (t)
  如果犯错!=nil {
  返回t
  }
  t=GetTimeString (t1)
  }
  返回t
  }

判断一个时间点是否在一个时间点之后

过程:这个对于时间戳而言非常简单,但是对于其他的需要转换到时间即可对比

 stringToTime _:=time.Parse (“2006-01-02 15:04:05",“2017-12-12 12:00:00")
  beforeOrAfter:=stringToTime.After (time.Now ())
  如果beforeOrAfter==true {
  fmt.Println(“2017-12-12 12:00:00在tNow之后!“)
  其他}{
  fmt.Println(“2017-12-12 12:00:00在tNow之前!“)
  }

判断一个时间相比另外一个时间点过去了多久
过程:这个是用时间的方式来对比

 beginTime:=time.Now ()
  time . sleep (time.Second * 1)
  durtime:=time.Since (beginTime)
  fmt.Println(“离现在过去了:“,durtime) 

看完上述内容,你们对Golang中如何操作时间有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

Golang中如何操作时间