当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


GO Duration.Round用法及代码示例


GO语言"time"包中"Duration.Round"类型的用法及代码示例。

用法:

func(d Duration) Round(m Duration) Duration

Round 返回将 d 舍入为 m 的最接近倍数的结果。中间值的舍入行为是从零舍入。如果结果超过 Duration 中可以存储的最大(或最小值)值,Round 返回最大(或最小)持续时间。如果 m <= 0,Round 返回 d 不变。

例子:

package main

import (
	"fmt"
	"time"
)

func main() {
	d, err := time.ParseDuration("1h15m30.918273645s")
	if err != nil {
		panic(err)
	}

	round := []time.Duration{
		time.Nanosecond,
		time.Microsecond,
		time.Millisecond,
		time.Second,
		2 * time.Second,
		time.Minute,
		10 * time.Minute,
		time.Hour,
	}

	for _, r := range round {
		fmt.Printf("d.Round(%6s) = %s\n", r, d.Round(r).String())
	}
}

输出:

d.Round(   1ns) = 1h15m30.918273645s
d.Round(   1µs) = 1h15m30.918274s
d.Round(   1ms) = 1h15m30.918s
d.Round(    1s) = 1h15m31s
d.Round(    2s) = 1h15m30s
d.Round(  1m0s) = 1h16m0s
d.Round( 10m0s) = 1h20m0s
d.Round(1h0m0s) = 1h0m0s

相关用法


注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 Duration.Round。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。