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


GO Time.Truncate用法及代码示例

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

用法:

func(t Time) Truncate(d Duration) Time

截断返回将 t 向下舍入为 d 的倍数(从零开始)的结果。如果 d <= 0,则 Truncate 返回 t 去除任何单调时钟读数,否则保持不变。

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

例子:

package main

import (
	"fmt"
	"time"
)

func main() {
	t, _ := time.Parse("2006 Jan 02 15:04:05", "2012 Dec 07 12:15:30.918273645")
	trunc := []time.Duration{
		time.Nanosecond,
		time.Microsecond,
		time.Millisecond,
		time.Second,
		2 * time.Second,
		time.Minute,
		10 * time.Minute,
	}

	for _, d := range trunc {
		fmt.Printf("t.Truncate(%5s) = %s\n", d, t.Truncate(d).Format("15:04:05.999999999"))
	}
	// To round to the last midnight in the local timezone, create a new Date.
	midnight := time.Date(t.Year(), t.Month(), t.Day(), 0, 0, 0, 0, time.Local)
	_ = midnight

}

输出:

t.Truncate(  1ns) = 12:15:30.918273645
t.Truncate(  1µs) = 12:15:30.918273
t.Truncate(  1ms) = 12:15:30.918
t.Truncate(   1s) = 12:15:30
t.Truncate(   2s) = 12:15:30
t.Truncate( 1m0s) = 12:15:00
t.Truncate(10m0s) = 12:10:00

相关用法

注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 Time.Truncate。非经特殊声明,原始代码版权归原作者所有,本译文的传播和使用请遵循“署名-相同方式共享 4.0 国际 (CC BY-SA 4.0)”协议。