golang 获取北京时间的零点

发布时间: 更新时间: 总字数:416 阅读时间:1m 作者: IP上海 分享 网址

在 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)
}

代码说明:

  1. time.LoadLocation("Asia/Shanghai"):加载北京时间的时区。
  2. time.Now().In(loc):获取当前时间,并将其转换为北京时间。
  3. 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

这个代码会输出当前时间和当天的零点时间(北京时间)。

Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数