go - 划分时间。Golang 中的持续时间
问题描述
目前,time
Go 中的包没有 'divide' 功能或类似功能。您可以将 time.Duration 除以其他值,但这需要相当多的转换。有没有简单/明显的方法来划分 time.Duration 由我没有看到的 Go 中的东西?(我知道你可以除以一个数字常量,但我需要在动态的基础上进行。)我计划提交一个问题/功能请求以向time
包中添加一个基本的“除法”功能,但我想先在这里问一下,以防我错过了一些简单的方法来进行这种划分。
解决方案
import "time"
没有对 Day 或更大单位的定义,以避免在夏令时时区转换之间产生混淆。
要计算 Duration 中的单位数,请除以:
second := time.Second fmt.Print(int64(second/time.Millisecond)) // prints 1000
要将整数个单位转换为 Duration,请乘以:
seconds := 10 fmt.Print(time.Duration(seconds)*time.Second) // prints 10s const ( Nanosecond Duration = 1 Microsecond = 1000 * Nanosecond Millisecond = 1000 * Microsecond Second = 1000 * Millisecond Minute = 60 * Second Hour = 60 * Minute )
Duration 将两个瞬间之间的经过时间表示为 int64 纳秒计数。该表示将最大可表示持续时间限制为大约 290 年。
type Duration int64
time.Duration
Gotime
包文档中描述了除法和乘法。
推荐阅读
- c++ - 将堆栈上声明的元素添加到静态数组
- c# - 丢失绑定 MVVM silverlight 5
- http - 如何在delphi中使用TIdHttp连接到特殊链接?
- android - 为什么 CardView 正在显示,但我没有看到它的项目?
- pyspark - Pyspark Sql 类型:Union[int, float]
- gitlab - 如何在与 GitLab 控制台相同的服务器上运行 GitLab 运行器
- windows - 如何使用 Powershell 更改表格中的多个标题
- swift - 快速工作区中的 GitHub 操作
- pandas - Python pandas:从两个不同的数据帧中过滤掉不匹配的对
- python - 如何使用 mysql 连接器执行 .sql 文件并将其保存在 python 的数据库中?