Golang time.Time.Round()函数的使用与示例
在Go语言中,时间包(time packages)提供了用于确定和查看时间的功能。Go语言中的 Time.Round() 函数用于找出舍入指定时间“t”到最接近给定时长“d”的倍数时间点。对于中间值的舍入行为是向上舍入。此外,此功能在时间包中定义。在使用这些函数之前,需要导入“time”包。
语法:
func (t Time) Round(d Duration) Time
这里,“t”表示指定的时间,“d”表示给定的时间段。
注意: Round()方法适用于从零时间开始的绝对持续时间形式的时间。但它不适用于时间格式形式(layout form of the time)的时间。
返回值: 返回舍入给定时间“t”到最接近给定时间点“d”的倍数的输出。如果d小于或等于零,则它返回“t”的任何单调时钟(monotonic clock)读数,否则返回不变。
示例1:
// Golang program to illustrate the usage of
// Time.Round() function
// Including main package
package main
// Importing fmt and time
import "fmt"
import "time"
// Calling main
func main() {
// Defining t for Round method
t := time.Date(2013, 7, 6, 11, 34, 13, 60, time.UTC)
// Defining duration
d := (60 * time.Second)
// Calling Round() method
res := t.Round(d)
// Prints output
fmt.Printf("The time after rounding is: %v\n", res)
}
输出:
The time after rounding is: 2013-07-06 11:34:00 +0000 UTC
示例2:
// Golang program to illustrate the usage of
// Time.Round() function
// Including main package
package main
// Importing fmt and time
import "fmt"
import "time"
// Calling main
func main() {
// Defining t for Round method
t := time.Date(2033, 76, 96, 100, 89, 99, 6665, time.UTC)
// Defining duration
d := (4 * time.Minute)
// Calling Round() method
res := t.Round(d)
// Prints output
fmt.Printf("The time after rounding is: %v\n", res)
}
输出:
The time after rounding is: 2039-07-09 05:32:00 +0000 UTC
这里,上述代码中的“t”具有超出通常范围的值,但在转换时已被规范化。