其他分享
首页 > 其他分享> > openwrt 运行golang 设置时区

openwrt 运行golang 设置时区

作者:互联网

转载自:https://www.ohyee.cc/post/note_go_read_openwrt_timezone

openwrt 运行golang 时候发现打印时间错误。golang读取时区的过程:

  1. 读取TZ环境变量
  2. 读取/etc/localtime文件
  3. 本地时区读取失败,使用 UTC 时间

所以我们可以设置/etc/localtime 的时区。但是/etc/localtime文件不是随便写的,需要符合一定的格式。所以安装时区文件:

opkg update
opkg install zoneinfo-asia

时区设置为上海:

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

运行代码:

package main

import (
	"fmt"
	"syscall"
	"time"
)

func main() {
	t := time.Now().Format("2006-01-02 15:04:05")
	fmt.Println(t)
	fmt.Println(time.Local)
	tz, ok := syscall.Getenv("TZ")
	fmt.Println(tz,ok)
}

可以看到时间已经正确:

2022-05-02 22:42:28
Local
 false

标签:读取,fmt,golang,etc,设置,openwrt,localtime
来源: https://www.cnblogs.com/jing1024/p/16217235.html