📅  最后修改于: 2023-12-03 15:01:01.824000             🧑  作者: Mango
在 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()
函数可以帮助我们方便地截取时间戳,让我们可以按照特定的精度来处理时间。如果你需要编写能够处理时间戳的程序,这个函数就是必不可少的一个工具。