Go time

作者: qingshuiting | 来源:发表于2019-02-22 16:46 被阅读0次

    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

    相关文章

      网友评论

          本文标题:Go time

          本文链接:https://www.haomeiwen.com/subject/zuweyqtx.html