Go中的time操作

本文介绍了Go语言中关于时间操作的各种方法,包括Duration的定义、转换和计算,如time.Duration、time.ParseDuration、time.Sub、time.Since和time.Until。还详细讨论了Location的使用,如设置时区和时间转换。同时讲解了Ticker、Time的核心功能,如time.Parse、time.ParseInLocation、time.AddDate以及时间比较和格式化显示。
摘要由CSDN通过智能技术生成

程序开发中,时间操作是不可避免的,在这里记录一下Go中常见的操作。
Duration
Go中的时间最底层的数据结构为Duration, 在Duration的基础上,我们定义了下面的概念:
const (
Nanosecond Duration = 1 // 纳秒,计算Duration的是使用ns
Microsecond = 1000 * Nanosecond 微秒,计算Duration的是使用us
Millisecond = 1000 * Microsecond 毫秒, 计算Duration的是使用ms
Second = 1000 * Millisecond 秒,计算Duration的是使用s
Minute = 60 * Second 分,计算Duration的是使用m
Hour = 60 * Minute 时,计算Duration的是使用h
)
复制代码那么Duration可以如何操作呢?

time.Duration

seconds := 10
time.Duration(seconds)*time.Second // 返回Duration结构
复制代码
time.ParseDuration
ParseDutation主要用于解析字符串,使用字符串的可以避免使用time.Duration不方便表示的时间段。

hours, _ := time.ParseDuration(“10h”) // 生成10个小时的duration
complex, _ := time.ParseDuration(“1h10m10s”) // 生成1小时10分钟10秒的duration
micro, _ := time.ParseDuration(“1µs”) // 生成1微妙的duration
复制代码
time.Sub

如何计算两个时间的时间差,返回Duration结构?注意
start := time.Date(2000, 1, 1, 0, 0, 0, 0, time.UTC)
end := time.Date(2000, 1, 1, 12, 0, 0, 0, time.UTC)

difference := end.Sub(start)
fmt.Printf(“difference = %v\n”, difference)
复制代码
time.Since

time.Since等价于time.Now().Sub(t),用于计算当前时间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值