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