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

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

输出的是当地时区时间2019-05-13 18:00:17

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

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

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

time.FixedZone

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

最好的办法是用time.FixedZone

获取当前时间戳

1
2
3
4
5
6
7
8
9
10
11
12
13
fmt.Println(time.Now().Format("2006-01-02 15:04:05"))
//2019-05-13 18:02:22

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

cstZone = time.FixedZone("CST", 0) // 时区
//上架时间,当日 TODO
currentDay , _:= time.Parse("2006/01/02 15:04:05", time.Now().In(cstZone).Format("2006/01/02 15:04:05"))
currTime :=currentDay.Unix()
fmt.Println(currTime)
//1557741831