zoukankan      html  css  js  c++  java
  • Go语言编写规范之time包

    1.time.Time和time.Duration

    time.Time可以理解为时间单位,其中包含了一些对时间的处理方法,time.Now()返回就是time.Time类型

    在处理时间的瞬时时使用time.Time,在比较、添加或减去时间时使用time.Time中的方法。

    Bad Good
    func isActive(now, start, stop int) bool {
      return start <= now && now < stop
    }
    func isActive(now, start, stop time.Time) bool {
      return (start.Before(now) || start.Equal(now)) && now.Before(stop)
    }

    time.Duration表示时间段,处理时间段时可以用这个方法

    Bad Good
    func poll(delay int) {
      for {
        // ...
        time.Sleep(time.Duration(delay) * time.Millisecond)
      }
    }
    poll(10) // 是几秒钟还是几毫秒?
    func poll(delay time.Duration) {
      for {
        // ...
        time.Sleep(delay)
      }
    }
    poll(10*time.Second)

     

     

     

    2.获取某些特定时间点的时间

    获取将来或者过去某个时间段的时间

    tomorrow := time.Now().AddDate(0 /* years */, 0, /* months */, 1 /* days */)
    yesterday := time.Now().Add(-24 * time.Hour)

    获取0点时间

    timeStr := time.Now().Format("2006-01-02")
    t, _ := time.ParseInLocation("2006-01-02", timeStr, time.Local)

    3.时间的格式化

    timeStr := time.Now().Format("2006-01-02")
    timeStr := time.Now().Format("2006-01-02 15:04:05")

    4.时区选择

    func get_date_today_china() (date string, err error) {
        var cstZone = time.FixedZone("CST", 60*60*8)//东八区
        date = time.Now().In(cstZone).Format("2006-01-02")
        return
    }
  • 相关阅读:
    Densely Connected Convolutional Networks 论文阅读
    仙剑美丽的背景图片
    欢迎follow github:https://github.com/wuxiangli91
    L1和L2特征的适用场景
    决策树和adaboost
    Dropout caffe源码
    destoon 短信发送函数及短信接口修改
    destoon后台权限-不给客户创始人权限并屏蔽部分功能
    destoon 数据库操作
    destoon修改笔记
  • 原文地址:https://www.cnblogs.com/peterleee/p/13890276.html
Copyright © 2011-2022 走看看