searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

GO常用标准库-time

2024-02-08 01:25:27
27
0

时间作为人类认知世界的一把标尺,与人类活动密切相关。而软件已经渗透到人类生活的方方面面,伴随着人类思维和认知的演变。软件通过时间记录人类活动的发生时刻,维护人类活动秩序(比较时间的前后顺序),驱动着人类活动的良性运转。

常见的时间操作:

  • 获取当前时间
  • 时间比较
  • 时区相关的时间操作
  • 时间格式化
  • 定时器(一次性定时器timer和重复定时器ticker)的使用 

时间的基础操作:

  • 获取当前时间

t := time.Now() fmt.Println(t) //输出当前时间

输出: 2023-03-26 16:05:44.183065 +0800 CST m=+0.000110501 

  • 获取特定时区的当前时间
  1. 设置TZ环境变量

TZ环境变量不为空,将尝试读取该环境变量指定的时区信息并输出对应时区的即时时间表示。

TZ环境变量提供的时区信息有误或显式设置为空,将根据其值在时区数据库中找不到对应的时区信息,那么它将使用UTC时间(Coordinated Universal Time,国际协调时间)。 

2. 显式加载时区信息

  • 时间的比较与运算

  • 时间的格式化输出

定时器的使用:

time包提供了两类定时器:一次性定时器Timer和重复定时器Ticker。

  • Timer 只能进行一次定时器到期事件触发。
  • Ticker 可以按一定时间间隔多次触发定时器到期事件。 

  • Ticker是周期性定时器,即周期性的触发一个事件。
  • Ticker对外仅暴露一个channel,指定的时间到来时就往该channel中写入系统时间,也即一个事件。
  • 使用time.NewTicker()来创建一个定时器;
  • 使用Stop()来停止一个定时器;
  • 定时器使用完毕要释放,否则会产生资源泄露;
  • NewTicker()创建一个新的Ticker交给系统协程监控;
  • Stop()通知系统协程删除指定的Ticker; 
0条评论
作者已关闭评论
f****n
4文章数
0粉丝数
f****n
4 文章 | 0 粉丝
f****n
4文章数
0粉丝数
f****n
4 文章 | 0 粉丝
原创

GO常用标准库-time

2024-02-08 01:25:27
27
0

时间作为人类认知世界的一把标尺,与人类活动密切相关。而软件已经渗透到人类生活的方方面面,伴随着人类思维和认知的演变。软件通过时间记录人类活动的发生时刻,维护人类活动秩序(比较时间的前后顺序),驱动着人类活动的良性运转。

常见的时间操作:

  • 获取当前时间
  • 时间比较
  • 时区相关的时间操作
  • 时间格式化
  • 定时器(一次性定时器timer和重复定时器ticker)的使用 

时间的基础操作:

  • 获取当前时间

t := time.Now() fmt.Println(t) //输出当前时间

输出: 2023-03-26 16:05:44.183065 +0800 CST m=+0.000110501 

  • 获取特定时区的当前时间
  1. 设置TZ环境变量

TZ环境变量不为空,将尝试读取该环境变量指定的时区信息并输出对应时区的即时时间表示。

TZ环境变量提供的时区信息有误或显式设置为空,将根据其值在时区数据库中找不到对应的时区信息,那么它将使用UTC时间(Coordinated Universal Time,国际协调时间)。 

2. 显式加载时区信息

  • 时间的比较与运算

  • 时间的格式化输出

定时器的使用:

time包提供了两类定时器:一次性定时器Timer和重复定时器Ticker。

  • Timer 只能进行一次定时器到期事件触发。
  • Ticker 可以按一定时间间隔多次触发定时器到期事件。 

  • Ticker是周期性定时器,即周期性的触发一个事件。
  • Ticker对外仅暴露一个channel,指定的时间到来时就往该channel中写入系统时间,也即一个事件。
  • 使用time.NewTicker()来创建一个定时器;
  • 使用Stop()来停止一个定时器;
  • 定时器使用完毕要释放,否则会产生资源泄露;
  • NewTicker()创建一个新的Ticker交给系统协程监控;
  • Stop()通知系统协程删除指定的Ticker; 
文章来自个人专栏
Go语言
4 文章 | 1 订阅
0条评论
作者已关闭评论
作者已关闭评论
2
1