go设置时区

keepeye · · 3841 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

time包设置时区方法: ``` l,_ := time.LoadLocation("Asia/Shanghai") fmt.Println(time.Now().In(l)) l,_ = time.LoadLocation("America/Adak") fmt.Println(time.Now().In(l)) ``` LoadLocation 有个问题,它依赖于 IANA Time Zone Database (简称 tzdata 吧) 这个数据库,一般linux系统都带了,但是windows系统就没带。 没有 tzdata 就会从$GOROOT/中找。对于没有安装go环境的windows系统来说,就没办法通过 `LoadLocation` 设置时区。 但是也有办法,我们可以自己把tzdata文件放到自己的程序目录中,然后让 time 包能够从我们自己的程序目录中加载时区文件就可以了。 文件目录可以通过环境变量设置,在main方法中: ``` os.Setenv("ZONEINFO", '/home/tz/data.zip') ``` 然后再调用 LoadLocation 方法就可以了。 data.zip 文件我上传到github,直接下载即可。也可以尝试自己制作~ 下载传送门:[https://github.com/keepeye/tzdata](https://github.com/keepeye/tzdata)

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3841 次点击  
加入收藏 微博
上一篇:微信支付GO SDK
下一篇:房间号生成器
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传