在Go语言上,go语言的time.Now()返回的是当地时区时间,直接用:

time.Now().Format("2006-01-02 15:04:05")

输出的是当地时区时间。

go语言并没有全局设置时区这么一个东西,每次输出时间都需要调用一个In()函数改变时区:

var cstSh, _ = time.LoadLocation("Asia/Shanghai") //上海
fmt.Println("SH : ", time.Now().In(cstSh).Format("2006-01-02 15:04:05"))

在windows系统上,没有安装go语言环境的情况下,time.LoadLocation会加载失败。

var cstZone = time.FixedZone("CST", 8*3600)       // 东八
fmt.Println("SH : ", time.Now().In(cstZone).Format("2006-01-02 15:04:05"))

最好的办法是用time.FixedZone