Go time

Go time

Go中提供了很多关于时间处理的内容,这篇文章来主讲讲解下时间上的内容。

最外层可以直接使用的方法

  1. Time的方法:Data,Now,Unix

  2. Duration:Since,Until

  3. Timer:After,NewTimer,AfterFunc,Sleep

  4. Ticker:NewTicker,Tick

Duration

duration代表了的是两个时间之间的elapse。实际上其实一个int64的封装。基本单位是使用ns

所以有:

const (
Nanosecond  Duration = 1
Microsecond          = 1000 * Nanosecond
Millisecond          = 1000 * Microsecond
Second               = 1000 * Millisecond
Minute               = 60 * Second
Hour                 = 60 * Minute
)

使用最多的方法应该是

  1. Round(m)

    取m的整数倍,最接近的。

  2. Truncate(m)

    取m的整数倍,但是最接近duration的下取整。

  3. Since(t)

    表示从t到现在now的duration

  4. Until(t)

    表示t直到now的duration

Time

time表示一个时间点或者instance。其主要的方法可以分为两类:一类是构造方法(通过使用其可以返回一个time),二类是操作方法(也就是Time的方法或者函数)

构造方法

  1. Data方法,通过传入,年月日等信息

  2. Now()获得当前local时间

  3. Parse(layout,value)获得时间

  4. Unix(s,ns)获得时间是从1,1,1970 UTC开始

使用方法

  1. Add,before,after,equal

  2. 对当前Time的访问方法

  3. 序列化和反序列方法

  4. Round和Truncate

  5. Unix返回的是int,表示1,1,1970 UTC

  6. UTC 返回对应的time的UTC time

Weekday,month等信息

Timer

表示了一个单次事件的定时器,其含有一个Time的chan,当一个Timer启动的时候,会启动一个新的gorountine,当达到对应duration的时候回向Time chan中写当前时间,并执行function。

  1. stop

  2. reset

Ticker

Ticker的功能和Timer类似,只不多是一个定周期tick一次。

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

推荐阅读更多精彩内容

  • 类型 time.Time{} 时间类型,包含了秒和纳秒以及Location time.Month() type M...
    吃猫的鱼0阅读 31,812评论 0 4
  • 分析time包里面的函数用法及功能 前言 本文章只是针对自己在工作学习中遇到的实际问题,然后探究相关知识点得出的结...
    Hqmm阅读 396评论 0 0
  • 常用时间方法 时间戳 (timestamp) 与时间 (time) 互转 时间戳 (timestamp) 与时间字...
    butters001阅读 362评论 0 0
  • time 包的官方文档 中文英文本文章不是对time包文档的重复,旨在加深对time实现的理解上,以上是文档可以进...
    _AlphaBaby_阅读 729评论 0 0
  • “21世纪什么最贵?人才!”葛优在电影《天下无贼》中的这句经典台词,很多时候被当成了一句玩笑话。而实际情况是,人才...
    科技笔筒阅读 912评论 0 1