在 Go 语言中,时间包提供了确定和查看时间的功能。 Go 语言中的Truncate()函数用于查找将规定的持续时间“d”向零舍入到“m”持续时间的倍数的结果。而且,这个函数是在time包下定义的。在这里,您需要导入“time”包才能使用这些功能。
句法:
func (d Duration) Truncate(m Duration) Duration
这里,d 是四舍五入的持续时间,m 是倍数。
返回值:它返回将规定的持续时间“d”向零四舍五入到“m”持续时间的倍数的结果。但如果 m 小于或等于 0,则返回未更改的 ‘d’。
示例 1:
// Golang program to illustrate the usage of
// Truncate() function
// Including main package
package main
// Importing fmt and time
import (
"fmt"
"time"
)
// Calling main
func main() {
// Defining duration
// of Truncate method
tr, _ := time.ParseDuration("45m32.67s")
// Prints truncated duration
fmt.Printf("Truncated duration is : %s",
tr.Truncate(2*time.Second))
}
输出:
Truncated duration is : 45m32s
这里,“d”四舍五入为 m 的倍数。
示例 2:
// Golang program to illustrate the usage of
// Truncate() function
// Including main package
package main
// Importing fmt and time
import (
"fmt"
"time"
)
// Calling main
func main() {
// Defining duration of Truncate method
tr, _ := time.ParseDuration("7m11.0530776s")
// Array of m
t := []time.Duration{
time.Microsecond,
time.Second,
4 * time.Second,
11 * time.Minute,
}
// Using for loop and range to
// iterate over an array
for _, m := range t {
// Prints rounded d of all
// the items in an array
fmt.Printf("Truncated(%s) is : %s\n",
m, tr.Truncate(m))
}
}
输出:
Truncated(1µs) is : 7m11.053077s
Truncated(1s) is : 7m11s
Truncated(4s) is : 7m8s
Truncated(11m0s) is : 0s
在这里,首先形成一个 ‘t’ 数组,然后使用一个范围来迭代持续时间 ‘t’ 的所有值。最后使用 Truncate() 方法打印上述代码中 t 的所有舍入值。