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

📅  最后修改于: 2023-12-03 14:41:34.232000             🧑  作者: Mango

Golang 中的 time.Time.Round()函数

在 Golang 中,我们可以使用 time.Time 类型来操作时间。这个类型提供了很多有用的函数,其中就包括 Round() 函数,用于将时间按照指定的精度进行取整。

函数签名
func (t Time) Round(d Duration) Time
参数说明
  • t:时间。
  • d:精度,取值为 time.Duration 类型。
返回值

返回的是经过取整处理后的时间,类型为 time.Time

例子

下面是一个简单示例,演示了如何使用 time.Time.Round() 函数:

package main

import (
    "fmt"
    "time"
)

func main() {
    t := time.Date(2021, time.August, 19, 9, 28, 30, 0, time.UTC)
    fmt.Println(t.Round(time.Hour)) // 2021-08-19 09:00:00 +0000 UTC
}

在上面的例子中,我们创建了一个时间变量 t,并设置为 2021-08-19 9:28:30。然后我们使用 Round() 函数将 t 进行取整,将精度设置为一小时,这样 t 就会被取整为 2021-08-19 09:00:00。最后我们将结果输出到控制台。

注意事项
  • 精度参数必须是一个 Duration 类型。
  • 该函数会按照指定精度将时间向下取整,例如:若精度为一小时,时间为 09:28:30,那么取整后的时间就是 09:00:00
  • 时间的精度是以纳秒为单位,而不是微秒或毫秒。因此,在进行取整时需要注意。
  • 在取整时会对时间进行四舍五入,例如:若精度为一小时,时间为 09:30:00,那么取整后的时间就是 10:00:00