开发的Go项目,通过Asia/shanghai来设置时区,在本地Mac上面执行没有问题,但是部署到Linux服务器上报错cannot find Asia/shanghai in zip file /usr/local/go/lib/time/zoneinfo.zip,找不到Asia/shanghai。解决方案:其实是大小写的问题,把时区改为Asia/Shanghai即可,在Mac和Linux上...
linux环境下时区无法设置(UTC无法更改为CST)的问题解决
在进行linux下修改时区的时候 用命令:TZ='
Asia
/
Shanghai
'; export TZ ;但是还会变回UTC时间
按照网上的方法
A方法:tzselect:执行tzselect命令-->选择
Asia
-->选择China-->选择east China - Beijing, Guangdong,
Shanghai
, etc-->然后输入1。
有时第一种不好用,后来用第二种;发现本地没有 /...
按照网上的方法
A : tzselect:执行tzselect命令-->选择
Asia
-->选择China-->选择east China - Beijing, Guangdong,
Shanghai
, etc-->然后输入1。
确保go版本不可以过低;最好是1.15版本以上
执行命令GOOS=windows GOARCH=amd64 go build -v -tags
time
tzdata
或者设置环境变量
ZONEINFO
,指向$GOROOT/
lib
/
time
/
zoneinfo
.
zip
;也可以代码设置环境变量 err := syscall.Setenv("
ZONEINFO
", `C:\Go\
lib
\
time
\
zoneinfo
.
zip
`)
knozone软件包的目的是能够在Go中可靠地使用IANA时区数据库的已知版本。
在Go的时间包中,LoadLocation方法将搜索多个可能的位置,以找到时区数据库,如摘录中所描述的那样,该时区来自包的源代码。
// The
time
zone database needed by LoadLocation may not be
// present on all systems, especially non-Unix systems.
// LoadLocation looks in the directory or uncompressed
zip
file
// named by the
ZONEINFO
environment variable, if any, then looks in
// known installation locations on U
public static void main(String[] args) {
// TODO Auto-generated method stub
Time
Zone
time
Zone =
Time
Zone.getDefault();