Golang包——time

Time 常用函数

//获取当前时间,返回Time类型
func Now() Time

Unix(sec int64, nsec int64) Time
//根据秒数和纳秒,返回Time类型
Date(year int, month Month, day, hour, min, sec, nsec int, loc *Location) Time
//设置年月日返回,Time类型
Since(t Time) Duration//返回与当前时间的时间差
func (t Time) UTC() Time
func (t Time) Unix() int64
func (t Time) UnixNano() int64

常用的时间单位的换算

毫秒和纳秒是两的时间单位 1秒=1000毫秒 1毫秒=1000微秒 1微秒=1000纳秒

fmt.Println(time.Now().Unix())                       //获取当前时间戳 单位是秒
fmt.Println(time.Now().UnixNano())                   //获取当前时间抽 单位是纳秒
fmt.Println(time.Now().UnixNano() / 1e6)             //将纳秒转换为毫秒
fmt.Println(time.Now().UnixNano() / 1e9)             //将纳秒转换为秒
fmt.Println(time.Unix(time.Now().UnixNano()/1e9, 0)) //将毫秒转换为 time 类型            

Time常用方法

//时间类型比较,是否在Time之后
After(u Time) bool 
//时间类型比较,是否在Time之前
Before(u Time) bool 
//比较两个时间是否相等
Equal(u Time) bool 
//判断时间是否为零值,如果sec和nsec两个属性都是0的话,则该时间类型为0
IsZero() bool 
//返回年月日,三个参数
Date() (year int, month Month, day int) 
//返回年份
Year() int 
//返回月份.是Month类型
Month() Month 
//返回多少号
Day() int 
//返回星期几,是Weekday类型
Weekday() Weekday 
//返回年份,和该填是在这年的第几周.
ISOWeek() (year, week int) 
//返回小时,分钟,秒
Clock() (hour, min, sec int) 
//返回小时
Hour() int 
//返回分钟
Minute() int 
//返回秒数
Second() int 
//返回纳秒
Nanosecond() int 

timer 计时器

// 使用AfterFunc
time.AfterFunc(5 * time.Minute, func() {
    fmt.Printf("expired")
}
timer := time.NewTimer(5 * time.Minute)
<-timer.C
fmt.Printf("expired")
####time.Newtimer函数

初始化三小时30分钟的定时器

t := time.Newtimer(3*time.Hour + 30*time.Minute)

重置定时器

func (t *Timer) Reset(d Duration) bool

停止定时器,如果返回false,说明该定时器在之前已经到期或者已经被停止了,反之返回true。```
func (t *Timer) Stop() bool

func main() {
t := time.NewTimer(5 * time.Second)
//当前时间
now := time.Now()
fmt.Printf("Now time : %v.\n", now)

expireTime := <-t.C
fmt.Printf("Expiration time: %v.\n", expireTime)

}

##ticker 断续器
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,347评论 19 139
  • 类型 time.Time{} 时间类型,包含了秒和纳秒以及Location time.Month() type M...
    吃猫的鱼0阅读 31,828评论 0 4
  • NSTimer实现定时器 调用下面的方法就会开启一个定时任务 每隔ti秒,调用一次aTarget的aSelecto...
    yanhooIT阅读 6,577评论 0 1
  • 周五夜,北京寒,晚高峰。要打车到一个两公里外的地点,考虑到叫车的困难,故选择了滴滴专车。十多分钟后,滴滴专车司机抵...
    闫泽华阅读 3,669评论 0 2
  • 每年都要反省读书的事情,说起这件事情来,总是惭愧不已。年初定的读书目标,眼看就要搁浅了,于是硬着头皮,另做一番思考...
    王安迪阅读 2,755评论 1 5