go语言加载时区失败:%v unkown time zone Asia/Shanghai

在本地项目里使用time.LoadLocation("Asia/Shanghai")正常,但是部署到其它环境后报错

原因:在新的系统环境中不存在或者找不到时区时区数据文件,执行time.LoadLocation加载时区就会报错

解决办法:导入tzadata包,tzdata 包提供了一个嵌入式的时区数据库副本。这意味着当你导入这个包时,如果程序无法在系统上找到时区数据文件(tzdata),它将使用此包中包含的数据

代码如下:

import (
    _ "time/tzdata" // 导入时区数据包
)

func main() {
  	loc, err := time.LoadLocation("Asia/Shanghai")
  	if err != nil {
  		fmt.Println("加载时区错误:", err)
  		return
  	}

  	t := time.Now().In(loc)
}
posted @ 2024-12-26 09:59  ikun、  阅读(82)  评论(0编辑  收藏  举报