📜  Golang 中的 time.Time.Round()函数示例

📅  最后修改于: 2021-10-25 02:16:08             🧑  作者: Mango

在 Go 语言中,时间包提供了确定和查看时间的功能。 Go 语言中的Time.Round()函数用于查找从零时间开始将指定时间“t”四舍五入到给定持续时间“d”的最接近倍数的输出。对中间值进行四舍五入的行为是四舍五入。而且,这个函数是在time包下定义的。在这里,您需要导入“time”包才能使用这些功能。

句法:

func (t Time) Round(d Duration) Time

这里,“t”是规定的时间,“d”是给定的持续时间。

注意: Round() 方法以从零时间开始的绝对持续时间的形式处理时间。但是,它不适用于当时的布局形式。

返回值:它返回将给定时间“t”四舍五入到规定持续时间“d”的最接近倍数的输出。其中,如果 d 小于或等于 0,则它从任何单调时钟读数中返回“t”,但不改变。

示例 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”具有超出通常范围的值,但它们在转换时进行了标准化。