在 Go 语言中,你可以使用 time
包来获取北京时间的零点。由于 Go 的 time
包默认使用本地时间,因此你需要先将本地时间设置为北京时间(CST,中国标准时间),然后再获取当天的零点时间。
以下是一个示例代码:
package main
import (
"fmt"
"time"
)
func main() {
// 设置时区为北京时间
loc, err := time.LoadLocation("Asia/Shanghai")
if err != nil {
fmt.Println("无法加载时区:", err)
return
}
// 获取当前时间
now := time.Now().In(loc)
// 获取当天的零点时间
zeroTime := time.Date(now.Year(), now.Month(), now.Day(), 0, 0, 0, 0, loc)
fmt.Println("当前时间:", now)
fmt.Println("当天零点时间:", zeroTime)
}
代码说明:
time.LoadLocation("Asia/Shanghai")
:加载北京时间的时区。time.Now().In(loc)
:获取当前时间,并将其转换为北京时间。time.Date(now.Year(), now.Month(), now.Day(), 0, 0, 0, 0, loc)
:构造当天的零点时间。
输出示例:
当前时间: 2023-10-05 14:30:00 +0800 CST
当天零点时间: 2023-10-05 00:00:00 +0800 CST
这个代码会输出当前时间和当天的零点时间(北京时间)。