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


GO Time.Round用法及代码示例


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

用法:

func(t Time) Round(d Duration) Time

Round 返回将 t 舍入到最接近 d 的倍数的结果(从零开始)。中间值的舍入行为是向上舍入。如果 d <= 0,Round 返回 t 去除任何单调时钟读数,否则保持不变。

Round 在时间上作为从零时间开始的绝对持续时间运行;它不适用于当时的演示文稿形式。因此, Round(Hour) 可能会返回一个非零分钟的时间,具体取决于时间的位置。

例子:

package main

import (
	"fmt"
	"time"
)

func main() {
	t := time.Date(0, 0, 0, 12, 15, 30, 918273645, time.UTC)
	round := []time.Duration{
		time.Nanosecond,
		time.Microsecond,
		time.Millisecond,
		time.Second,
		2 * time.Second,
		time.Minute,
		10 * time.Minute,
		time.Hour,
	}

	for _, d := range round {
		fmt.Printf("t.Round(%6s) = %s\n", d, t.Round(d).Format("15:04:05.999999999"))
	}
}

输出:

t.Round(   1ns) = 12:15:30.918273645
t.Round(   1µs) = 12:15:30.918274
t.Round(   1ms) = 12:15:30.918
t.Round(    1s) = 12:15:31
t.Round(    2s) = 12:15:30
t.Round(  1m0s) = 12:16:00
t.Round( 10m0s) = 12:20:00
t.Round(1h0m0s) = 12:00:00

相关用法


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