首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Golang中划分time.Duration

在Golang中划分time.Duration
EN

Stack Overflow用户
提问于 2019-02-20 08:41:24
回答 2查看 6.1K关注 0票数 6

目前,Go中的time包没有'divide‘功能或类似的功能。您可以将time.Duration除以其他值,但这需要相当多的类型转换。有没有什么简单明了的方法可以将time.Duration除以Go中我看不到的东西?(我知道您可以除以一个数字常量,但我需要在动态的基础上这样做。)我计划提交一个问题/功能请求,向time包添加一个基本的'divide‘函数,但我想先在这里问一下,以防我错过了一些做这种除法的简单方法。

EN

回答 2

Stack Overflow用户

发布于 2019-02-20 10:23:05

Package time

导入“时间”

对于天或更大的单位没有定义,以避免在夏令时时区转换时产生混淆。

要计算持续时间内的单位数,请除以:

second := time.Second fmt.Print(int64(second/ 1000 .毫秒)) //打印1000

要将整数个单位转换为持续时间,请将其相乘:

Second := 10 fmt.Print(time.Duration( Second )*time.Second) //打印10s const (纳秒时长=1微秒= 1000 *纳秒毫秒= 1000 *微秒= 1000 *毫秒分钟= 60 *秒小时= 60 *分钟)

type Duration

持续时间以int64纳秒计数的形式表示两个瞬间之间经过的时间。该表示将最大可表示持续时间限制在大约290年。

类型持续时间int64

Go time包文档中介绍了time.Duration的除法和乘法。

票数 8
EN

Stack Overflow用户

发布于 2021-07-05 01:18:58

如果除数是2的倍数,则可以使用shifting,而不进行任何强制转换:

代码语言:javascript
复制
package main

import (
   "fmt"
   "time"
)

func main() {
   n := 1
   d := time.Minute >> n
   fmt.Println(d) // 30s
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54777109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档