ZBLOG

golang 时间差

在 Golang 中,我们可以使用 time 包中的函数和类型来计算时间差。以下是一些常用的示例:

  1. 计算当前时间到指定时间的时间差
targetTime := time.Date(2021, 10, 1, 0, 0, 0, 0, time.Local) // 指定时间为 2021 年 10 月 1 日
diff := targetTime.Sub(time.Now()) // 计算时间差
fmt.Println(diff) // 输出: 525h25m8.587663s
  1. 计算两个时间之间的时间差
startTime := time.Date(2021, 9, 1, 0, 0, 0, 0, time.Local)
endTime := time.Date(2021, 10, 1, 0, 0, 0, 0, time.Local)
diff := endTime.Sub(startTime)
fmt.Println(diff) // 输出: 720h0m0s
  1. 获取当前时间的年、月、日、时、分、秒
now := time.Now()
year := now.Year()         // 获取当前年份
month := int(now.Month())  // 获取当前月份
day := now.Day()           // 获取当前日期
hour := now.Hour()         // 获取当前小时数
minute := now.Minute()     // 获取当前分钟数
second := now.Second()     // 获取当前秒数
fmt.Printf("%d-%02d-%02d %02d:%02d:%02d\n", year, month, day, hour, minute, second)
  1. 将时间差转换为指定单位的时间长度
diff := time.Hour * 24 * 7 // 时间差为一周
days := int(diff.Hours() / 24) // 将时间差转换为天数
hours := int(diff.Hours()) % 24 // 将时间差转换为小时数
fmt.Printf("%d 天 %d 小时\n", days, hours)

以上仅是一些常见的用法示例,更多详细用法请参考 Golang 的官方文档。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=533

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?