在 Go 语言中,时间包提供了确定和查看时间的功能。 Go 语言中的Time.Truncate()函数用于查找从零时间开始将指定时间“t”四舍五入到给定持续时间“d”的最接近倍数的输出。而且,这个函数是在time包下定义的。在这里,您需要导入“time”包才能使用这些功能。
句法:
func (t Time) Truncate(d Duration) Time
这里,“t”是规定的时间,“d”是给定的持续时间。
注意: Truncate() 方法以从零时间开始的绝对持续时间的形式处理时间。但是,它不适用于当时的布局形式。
返回值:它返回将给定时间“t”四舍五入到规定持续时间“d”的最接近倍数的输出。其中,如果 d 小于或等于 0,则它从任何单调时钟读数中返回“t”,但不改变。
示例 1:
// Golang program to illustrate the usage of
// Time.Truncate() function
// Including main package
package main
// Importing fmt and time
import "fmt"
import "time"
// Calling main
func main() {
// Defining t for Truncate method
t := time.Date(2007, 7, 6, 23, 58, 11, 60, time.UTC)
// Defining duration
d := (60 * time.Second)
// Calling Truncate() method
trunc := t.Truncate(d)
// Prints output
fmt.Printf("The result after rounding 't' is: %v\n", trunc)
}
输出:
The result after rounding 't' is: 2007-07-06 23:58:00 +0000 UTC
示例 2:
// Golang program to illustrate the usage of
// Time.Truncate() function
// Including main package
package main
// Importing fmt and time
import "fmt"
import "time"
// Calling main
func main() {
// Defining t for Truncate method
t := time.Date(2047, 47, 96, 123, 98, 81, 999434, time.UTC)
// Defining duration
d := (2 * time.Hour)
// Calling Truncate() method
trunc := t.Truncate(d)
// Prints output
fmt.Printf("The result after rounding 't' is: %v\n", trunc)
}
输出:
The result after rounding 't' is: 2051-02-09 04:00:00 +0000 UTC
此处,上述代码中所述的“t”具有超出通常范围的值,但它们在转换时进行了标准化。