GO标准库 time标准库

Time类型

Time类型代表一个纳米的时间精度。
程序使用Time类型值来保存和传递时间而不是指针。

now := time.Now()//返回time.Time类型而不是*time.Time类型

Sub方法让两个时间点相减,产生一个Duration类型值(代表时间段)。
Add让一个时间点加上一个时间段,生成一个新的时间点
使用IsZero检验是否初始化。

时间戳

当前时间距离1970年1月1日0时0分0秒的时间(秒),也成为Unix时间戳。

Parse解析时间

在这里插入图片描述
以固定格式解析时间,返回一个Time类型
默认为UTC时间,比北京少了8小时

格式化时间


以固定格式格式化时间,返回一个string

时间间隔

time.Duration 是time包定义的一个类型,代表两点之间经过的时间,以纳米为单位。表示一段时间间隔,最大约为290年。
其中常量如下:
time.Duration本质为一个int64.

Sec :=time.Second()//1秒
Min5 :=5*time.Minute()//5分钟

时间计算

Add

Sub

func (t time) Sub(t Time) Duration

使用的时候需要注意时区问题。用Parse解析出的时间可能会遇到时区问题。

Equal

Equal对比两个时间是否相等,且支持不同时区比较。
也可以用=比较,但是=不考虑时区。

After

对比是否在某一时间之后
在这里插入图片描述

Before

对比是否在某一时间之前
在这里插入图片描述

定时器

使用time.Tick设置定时器,本质上是一个channel
在这里插入图片描述
每5秒钟返回一个Time,一直循环返回

time.AfterFunc(time.Duration )


5秒之后执行Func

time.Newtimer(time.Duration )

创建一个Timer,在最少过去d时间段后向自身的C字段返回当前时间。
timer是一个定时器,到固定时间后会执行一次。
可使用

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

重置计时,实现ticker效果。
在这里插入图片描述

time.NewTicker(time.Duration )

创建一个Ticker,其包含一个通道,每隔d时间段后向自身的C字段返回当前时间。
ticker只要定义,从此刻开始计时,每固定间隔时间都会触发。

使用举例:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值