Golang time.Round()函数及示例

Golang time.Round()函数及示例

在Go语言中,time包提供了确定和查看时间的功能。在Go语言中, Round() 函数用于查找将指定持续时间’d’四舍五入到最接近’m’持续时间的结果。在此,中间值的舍入方式是远离0。此外,该函数定义在time包中。因此,您需要导入“time”包才能使用这些函数。

语法:

func (d Duration) Round(m Duration) Duration

这里,’d’是将被舍入的持续时间,而’m’是最接近的倍数。

返回值:如果结果超过持续时间可以存储的最大值(或最小值),则返回最大值(或最小值)。但是,如果’m’小于或等于0,则返回不变的’d’。

示例1:

// Golang程序展示了
// Round() 函数的用法
  
// 导入 main 包
package main
  
// 导入 fmt 和 time 包
import (
    "fmt"
    "time"
)
  
// 主函数
func main() {
  
    // 定义 Round 方法的持续时间
    d, _ := time.ParseDuration("5m7s")
  
    // 输出舍入后的 d
    fmt.Printf("舍入后的d是:%s", 
            d.Round(6*time.Second))
} 

输出结果:

舍入后的d是:5m6s

这里,“d”四舍五入为m的最接近倍数。

示例2:

// Golang程序展示了
// Round() 函数的用法
  
// 导入 main 包
package main
  
// 导入 fmt 和 time 包
import (
    "fmt"
    "time"
)
  
// 主函数
func main() {
  
    // 定义 Round 方法的持续时间
    d, _ := time.ParseDuration("3m73.671s")
  
    // m的数组
    R := []time.Duration{
        time.Microsecond,
        time.Second,
        3 * time.Second,
        9 * time.Minute,
    }
  
    // 使用循环和范围
    // 遍历数组中的所有项
    for _, m := range R {
  
        // 输出所有
        // 舍入的d值
        fmt.Printf("Rounded(%s) is : %s\n", 
                             m, d.Round(m))
    }
} 

输出结果:

Rounded(1µs) is : 4m13.671s
Rounded(1s) is : 4m14s
Rounded(3s) is : 4m15s
Rounded(9m0s) is : 0s

这里,首先形成’d’的数组,然后使用范围以便遍历d的所有值。最后使用Round()方法打印所有舍入后的d的值。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程