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

📅  最后修改于: 2023-12-03 15:01:01.824000             🧑  作者: Mango

Golang 中的 time.Truncate() 函数

在 Golang 中,time.Truncate() 函数可以用来截取时间,比如我们可以将一个时间戳的秒数转换为一个整数小时或者整数天。

函数定义
func (t Time) Truncate(d Duration) Time
参数说明
  • t Time:需要截取的时间
  • d Duration:截取的精度,例如 1 小时、1 天、1 周等
返回值
  • Time:截取后的时间,与传入的时间部分精度相同,例如如果传入的时间的精度为小时,那么截取后返回的时间也只有到小时的精度
示例
package main

import (
    "fmt"
    "time"
)

func main() {
    now := time.Now()
    fmt.Println(now) // 2021-05-06 16:01:45.895404 +0800 CST m=+0.000284978

    truncatedHour := now.Truncate(time.Hour)
    fmt.Println(truncatedHour) // 2021-05-06 16:00:00 +0800 CST

    truncatedDay := now.Truncate(24 * time.Hour)
    fmt.Println(truncatedDay) // 2021-05-06 00:00:00 +0800 CST
}

在这个示例中,我们使用了 time.Now() 函数获取当前时间,然后分别使用 Truncate() 函数截取到小时和到日的时间,并打印输出。

首先,我们截取到了小时的时间,这个时间戳被截取到了整点。

然后,我们截取到了日的时间,这个时间戳被截取到了当天的开始,也就是凌晨 0 点。

总结

time.Truncate() 函数可以帮助我们方便地截取时间戳,让我们可以按照特定的精度来处理时间。如果你需要编写能够处理时间戳的程序,这个函数就是必不可少的一个工具。