我正在尝试为我的应用程序修改 golang 时区
我看了一下时间包,初始化时区发生在
时间/zoneinfo_unix.go @initLocal
该函数只是尝试读取环境变量TZ
,如果有效则加载它
如果不是,它会回落/etc/localtime
,如果它无效,它会回落到UTC
到目前为止我已经尝试过
1- 工作正常 - 但我不想使用这些方法中的任何一种 - :
在我的 docker 文件中,我将 ENV 传递给容器,TZ = Africa/Cairo
进入容器 bash,运行$ export TZ = Africa/Cairo
2-没用
在我的应用程序初始化中(应用程序初始化在一个单独的包中,正在主导入),我使用 os.SetEnv("TZ", "Africa/Cairo")
当我简化 main 并使用 os.SetEnv("TZ", "Africa/Cairo") 而不导入除“os - time”之外的任何其他包时,它按预期工作
关于如何使第二种方法起作用的任何想法?
Docker 镜像:golang:1.11.2
白猪掌柜的
墨色风雨
皈依舞
SMILET
相关分类